Arizona climbed back to the .500 mark and maintained a one-game lead over the Los Angeles Dodgers at the top of the NL West.
The Diamondbacks took control with a five-run second inning, when Stephen Drew and Chris Young both had a two-run double. Reynolds hit his three-run homer in the seventh and Chad Tracy had a solo shot later in the inning. Conor Jackson homered in the third.
All of that made things easy for Dan Haren (10-5), who gave up nine hits and two runs over eight innings.
Jonathan Sanchez (8-6) lasted just 2 2/3 in taking the loss. He was roughed up for six runs on five hits with four walks.
The Giants had won their previous three games.