St. Louis, MO (Sports Network) - Buster Posey's three-run homer in the first inning was held up by Barry Zito and the Giants bullpen in a 4-2 win over the St. Louis Cardinals.
Zito (9-8) gave up a pair of solo home runs to Allen Craig but held the Cardinals to just six other hits over 6 2/3 effective innings.
Jeremy Affeldt recorded the final four outs, including a double-play ball off the bat of pinch-hitter Matt Carpenter, to record his third save of the year.
The Cardinals, who were looking for a fifth straight win, went 0-for-4 with runners in scoring position and stranded eight.
Lance Lynn (13-5) yielded four runs on eight hits and three walks over six innings to take the loss, his first since June 30.