Buster Posey crushed a go-ahead, two-run home run and finished a triple shy of the cycle, as the San Francisco Giants downed the Arizona Diamondbacks, 3-2, in the middle test of a three-game set Saturday at Chase Field.
Barry Zito (12-8) struck out four over 6 2/3 frames, giving up just one run on six hits and a walk to earn his fourth straight winning decision.
"Everything was working pretty good," Zito remarked. "I was throwing everything for strikes. The cutter was good, the curveball got me out of some situations when I got guys on. Everything felt pretty good tonight."
Marco Scutaro registered a pair of hits, an RBI and a run scored for the NL West-leading Giants, who own a 7 1/2-game lead over the Los Angeles Dodgers.
Wade Miley (15-10) pitched well despite the loss, allowing all three runs on eight hits over seven frames. Justin Upton clubbed a solo shot for the D'backs.
"We didn't have many (chances)," Arizona manager Kirk Gibson said. "A couple of chances with runners in scoring position in which we scored only four run in two nights."
Angel Pagan provided the Giants with an early spark, ripping a leadoff triple into center field before scoring on Scutaro's groundout for a 1-0 edge.
Upton's two-out, solo shot in the fourth pulled the D'backs even at 1-1, but San Francisco quickly answered in the top of the fifth, as Scutaro ripped a one-out single and Posey followed two batters later with an opposite-field blast to give the visitors a two-run lead.
Arizona threatened in the seventh on a two-out, ground-rule double from John McDonald, but Santiago Casilla entered for Zito and fanned Chris Young.
Casilla issued a one-out walk to Aaron Hill in the eighth before Jeremy Affeldt took over on the mound and grounded out Jason Kubel.
Sergio Romo was then called upon to face Paul Goldschmidt, who served a single into right field to score Hill, but Romo got Upton to fly out to center field to end the inning.
In the ninth, Romo surrendered a leadoff single to Miguel Montero, who was replaced by pinch-runner Tyler Graham, but Graham was thrown out trying to steal second for the first out.
Romo then struck out Chris Johnson before grounding out pinch-hitter Ryan Wheeler to nail down his 11th save of the season and San Francisco's fourth straight victory.
The teams have split 14 games so far this season ... The Giants have won each of Zito's last eight starts ... Zito hasn't lost since Aug. 2 ... Pagan now has 13 triples this season, passing Willie Mays (1960) and Steve Finley (2006) for the most triples in a season in San Francisco-era history ... Arizona has scored four runs or less in 12 straight home games.