ST. LOUIS — Buster Posey continued his second-half tear with a three-run homer, Barry Zito pitched 6 2-3 innings of two-run ball and the San Francisco Giants defeated the St. Louis Cardinals 4-2 Tuesday night.
Posey leads the major leagues with a .448 batting average and 30 RBIs since the All-Star break, including 12 in his last six games. Posey has an 11-game hitting streak, batting .431 (19 for 44) during the stretch.
Joaquin Arias drove in the Giants' other run with an RBI double. Melky Cabrera also doubled for San Francisco, giving him a big league leading 152 hits.
Zito (9-8) allowed two solo home runs by Allen Craig. He gave up eight hits overall with four strikeouts and no walks. Jeremy Affeldt got the last four outs for his third save in four chances.
The multi-homer game was the fourth of Craig's career and second of the season. He last did it July 2 against Colorado.
Cardinals starter Lance Lynn (13-5) failed in his bid to become the National League's fourth, 14-game winner, allowing four runs on eight hits with two walks and six strikeouts in six innings.
Things started poorly for Lynn as Angel Pagan and Marco Scutaro opened the game with back-to-back singles. After Cabrera grounded into a fielder's choice, Posey blasted a 417-foot homer to dead center to give the Giants a 3-0 advantage.
Craig homered with two out in the third and two out in the fifth to make it a one-run game. San Francisco made it 4-2 in the sixth on a single by Brandon Belt, a stolen base and a double by Aria to the gap in left center.