Chicago Cubs second baseman Darwin Barney (15) cannot catch the ball as San Francisco Giants' Brett Pill (6) steals second base during the sixth inning of a baseball game in San Francisco, Friday, June 1, 2012. (AP Photo/Jeff Chiu)
Melky Cabrera remained the hottest hitter in the National League, Madison Bumgarner picked up his first win in nearly four weeks and the San Francisco Giants beat the Chicago Cubs 4-3 on Friday night.
Cabrera had two hits to raise his average to .376, tying him with Paul Konerko of the Chicago White Sox for the highest mark in the majors. That comes on the heels of his outstanding May when he tied a San Francisco franchise record with 51 hits.
Ryan Theriot added three hits and scored twice while Buster Posey had two RBIs to give the Giants their fourth win in five games on the current homestand.
Alfonso Soriano hit a three-run home run in the ninth for Chicago, but the Cubs fell short and lost for the 15th time in their last 20 games.
Coming off one of his worst starts of the season, Bumgarner looked strong after overcoming some early struggles. He retired 17 of 20 batters during one stretch and carried a shutout into the ninth before tiring.
Closer Santiago Casilla nearly let it slip away.
After Bumgarner gave up back-to-back singles to Starlin Castro and Joe Mather to open the inning, Casilla gave up Soriano's home run that cut San Francisco's lead to 4-3.
Casilla retired Reed Johnson on a comebacker but allowed a double to Jeff Baker and an infield single to Darwin Barney. Casilla then left the game after appearing to get hurt while pitching to Barney.
Javier Lopez relieved Casilla and recorded the final two outs for his first save of the season.
Bumgarner (6-4) didn't walk a batter and finished with a season-high 11 strikeouts.
Cabrera continues to be the Giants most significant offseason acquisition.
He singled as part of a two-run first inning, tripled in Theriot in the third and later scored on Posey's single to right that gave the Giants a 4-0 lead. He also grounded into a double play and flew out to deep center in his other at-bats.
That was more than enough support for Bumgarner, who scattered eight hits over eight innings to earn his first win since May 5.
Chicago starter Paul Maholm wasn't as fortunate.
The Cubs' lefty walked leadoff hitter Gregor Blanco in the first then gave up an RBI double to Theriot. Cabrera followed with a single before Posey's sacrifice fly made it 2-0.
Maholm (4-4) was tagged for two more in the third and left after giving up a one-out single to Brett Pill in the sixth. He struck out four and walked two.
Chicago, which was coming off a three-game sweep of San Diego, didn't show much life offensively until Soriano's home run in the ninth.
The Cubs hit into two double plays and had a runner thrown out easily trying to steal second.
Angel Pagan singled in the third inning for San Francisco to extend his home hitting streak to 25 games, the longest in Giants franchise history.