Phoenix, AZ (Sports Network) - Matt Cain fanned nine batters over eight shutout innings and Buster Poseycontinued his hot hitting by going 2-for-4 with an RBI as the Giants blanked the Diamondbacks, 3-0, at Chase Field.
Cain (8-8) allowed three hits and walked three batters to win his second straight start after losing four consecutive decisions. Brian Wilson retired the side in order in the ninth for his 27th save.
Andres Torres belted a solo homer for San Francisco, which won for the eighth time in 10 games. Posey, who extended his hitting streak to 16 games, has been the majors' hottest hitter this month leading the entire league in average (.438, 32-for-73).
Rodrigo Lopez (5-9) surrendered five hits and three runs over seven innings for Arizona, which was coming off a three-game sweep of the New York Mets.
The Giants took the early lead in the opener of the four-game series. Aubrey Huff walked with two outs in the first inning, stole second and scored on Posey's base hit to center.
Arizona wasted a chance with two men on base in the opening inning when Mark Reynolds struck out.
Torres homered to right-center with one out in the third, and the Giants got a break in the fourth. Justin Uptonled off with a ground-rule double, but was caught trying to steal third.
Juan Uribe doubled leading off the seventh and scored on Aaron Rowand's one- out base hit to left.
The Giants have won 17 of the last 24 meetings, but they are just 12-21 this season vs. NL West teams...Posey has reached base safely via hit or walk in each of his last 20 contests...Giants third baseman Pablo Sandoval, who came into the game with a career .475 batting average at Chase Field, went 0-for-4.