Madison Bumgarner fired eight strong innings as the Giants held on to clip the Cubs, 4-3. Bumgarner struck out 11 while allowing two runs on eight hits as he improved his mark to 6-and-4. Javier Lopez recorded the final two outs to earn his first save. Buster Posey drove in two runs and Ryan Theriot [[ TERRY-oh ]] finished 3-for-3 with an RBI, two runs scored and a walk for the Giants, who have won four of their last five. Alfonso Soriano clubbed a three-run homer in the ninth for Chicago, which had won a season-high three straight coming in. David DeJesus flied out with the tying run on third to end the game as the Cubs rally fell short. Paul Maholm yielded four runs and eight hits in five-and-a-third frames as he fell to 4-and-4.