Reynolds' two-run blast in the top of the ninth broke a 2-2 tie and tagged San Diego closer Heath Bell (5-4) with the loss.
Eric Byrnes drove in Arizona's other two runs with a solo home run in the third and a sacrifice fly in the seventh that tied the score 2-2.
Dan Haren (14-8) earned the win with eight strong innings in which he gave up two runs on five hits and one walk. Juan Gutierrez notched his fifth save.
Padres' starter Wade LeBlanc worked six innings, giving up one run on three hits and striking out five.
San Diego scored both its runs in the fourth. Chase Headley drove in Tony Gwynn Jr. with a single. Adrian Gonzalez added a sacrifice fly to make it 2-1.
Copyright 2009 by United Press International.