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.
Notes: Bumgarner has now reached double digits in strikeouts six times in his career. ... Injured Giants 3B Pablo Sandoval could begin a rehab assignment in the minors as soon as this weekend. Sandoval is expected to play four to five games with Class-A San Jose and will bat mostly from the left side while he continues to recover from surgery on his left hand. ... The Cubs claimed RHP Jairo Asencio off waivers, the reliever's third team this season. Asencio went 1-1 with a 5.96 ERA over 25 2-3 innings for Cleveland before getting designated for assignment on Monday. To make room, Chicago designated RHP Michael Bowden for assignment. ... RHP Matt Cain (5-2), who pitches for San Francisco on Saturday, has not allowed a run in 15 consecutive innings against the Cubs. He'll oppose RHP Matt Garza (2-3). ... Pill's stolen base in the sixth was the first of his career.