Ryan Roberts hit a game-tying solo homer in the eighth inning and Willie Bloomquist delivered a two-run triple later in the frame as the Arizona Diamondbacks rallied for a 4-1 road victory over the San Francisco Giants on Sunday.
Daniel Hudson pitched seven stellar innings and Aaron Hill had two hits and an RBI for Arizona, which increased its lead over San Francisco in the National League West to seven games.
Cody Ross led off the first with his 12th blast of the season to put the Giants ahead. Ryan Vogelsong (10-6) made it stand until Roberts launched his 18th shot with one out in the eighth.
Gerardo Parra singled and Jeremy Affeldt walked pinch-hitter Geoff Blum before Bloomquist ripped a triple to right field off Ramon Ramirez for a 3-1 Arizona lead.
Bloomquist scored on Hill's single to secure the win for Hudson (15-9), who limited San Francisco to a run and three hits en route to his fourth victory in five starts. Hudson has allowed two runs over 15 innings in his last two outings at AT&T Park.
J.J. Putz tossed a perfect ninth for his 36th save in 40 opportunities.
Vogelsong suffered his fourth straight loss, both overall and at home, despite yielding only two runs and five hits in 7 1/3 innings. The All-Star has surrendered three earned runs or less in 21 of his last 22 starts.