Buster Posey hit a three-run blast for his fifth homer in six games and Barry Zito pitched 6²⁄³ solid innings as the Giants beat the host St. Louis Cardinals 4-2 Tuesday.
Joaquin Arias added a run-scoring double in the sixth inning for the Giants, who snapped the Cardinals’ four-game winning streak.
Zito (9-8) allowed two runs and eight hits while winning for the first time since July 17. He struck out four and walked none.
Jeremy Affeldt retired the final hitter in the eighth with the tying run aboard and then pitched a scoreless ninth — including getting a key double play — for his third save.
Angel Pagan and Marco Scutaro had first-inning singles prior to Posey’s three-run homer to center off St. Louis starter Lance Lynn (13-5). The blast was Posey’s 18th of the season and extended his hitting streak to 11 games.
Former Cal star Allen Craig hit two-out solo shots in both the third and fifth innings for the Cardinals’ only offense against Zito.
Brandon Belt singled and stole second in the sixth prior to scoring on Arias’ double.
Lynn allowed four runs and eight hits in six innings.
NOTES: Zito improved to 2-6 in nine career starts against St. Louis. ... Craig has three homers in 10 career at-bats against Zito. ... The Giants activated left-hander Jose Mijares prior to the game and placed right-hander Shane Loux (neck) on the disabled list. The Giants claimed Mijares off waivers from the Kansas City Royals on Monday. ... Cardinals outfielder Jon Jay had two hits and is 6-for-8 in the series.