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.
Boston schools pull out free condoms over wrapping complaints
NBC reportedly holds celebs hostage to Jimmy Fallon's show