Given the early advantage, Aaron Harang (5-2) toiled for seven innings to get the win. He allowed two runs on eight hits in sending San Diego to its fifth victory in eight games.
A sacrifice fly by Xavier Nady brought the Diamondbacks within a run in the eighth, but Heath Bell came on in the ninth to preserve the win and grab his eighth save. Bell issued a two-out walk to Russell Branyan before striking out Chris Young.
Joe Saunders (0-4) gave up four runs on five hits in six innings to take the loss. The Diamondbacks have dropped three out of five.