Vogelsong (7-3) followed Barry Zito's seven innings in an 8-0 win in the series opener Monday with his own gem, marking the first time the Dodgers had been blanked in consecutive games in San Francisco since 1987 and for the second time ever.
Cabrera's leadoff homer in the fourth snapped Kershaw's streak of 35 2-3 consecutive innings in San Francisco without allowing an earned run. Pablo Sandoval added an RBI single for the Giants, who haven't been this close to first place since after the first day of the season.
Kershaw (5-4) allowed two runs and eight hits in six innings.
CARDINALS 5, MARLINS 2
MIAMI (AP) — Yadier Molina hit a three-run homer and Kyle Lohse pitched into the eighth inning to lead the Cardinals to their fifth straight victory.
One night after Molina's tying homer in the ninth inning keyed a huge comeback, St. Louis scored five unearned runs in the first.
The Marlins have lost eight of nine and are 3-17 in their last 20 games. Miami manager Ozzie Guillen was ejected for arguing balls and strikes with plate umpire Dan Bellino.
Lohse (7-2) allowed two runs and four hits while striking out four to lower his ERA to 2.82. Jason Motte pitched the ninth for his 16th save in 20 chances.
The Cardinals jumped out to a big early lead, aided by errors from Marlins starter Carlos Zambrano (4-6) and shortstop Jose Reyes. Molina took advantage of the miscues with his 12th homer.
REDS 4, BREWERS 3
CINCINNATI (AP) — Bronson Arroyo took a no-hitter into the eighth inning before giving up a three-run lead, but Drew Stubbs led off the bottom half with a homer, sending Cincinnati to the victory.
Arroyo allowed only one runner through the first seven innings, hitting Ryan Braun in the first. The slumping Brewers hit only four balls out of the infield during that stretch.
After Milwaukee pulled even with three hits in the eighth, Stubbs connected on the first pitch from John Axford (1-5) for his first homer since June 2. Jay Bruce also had a three-run homer.
Sean Marshall (2-3) escaped the threat, and Aroldis Chapman struck out three in the ninth for his ninth save in 12 tries, celebrating the three-hitter with a pair of somersaults in front of the mound.
BRAVES 8, DIAMONDBACKS 1
ATLANTA (AP) — Tim Hudson pitched eight sharp innings and Atlanta opened its longest homestand of the season with a victory.
Hudson (6-3) allowed one run and seven hits, struck out seven and walked one.
Freddie Freeman had three hits and drove in two runs, Chipper Jones also had three hits and Michael Bourn cracked a first-inning homer for Atlanta, which had 17 hits.
Arizona right-hander Daniel Hudson (3-2) left in the second inning with pain in his right elbow, and manager Kirk Gibson said he will have an MRI on Wednesday. Hudson gave up five runs and seven hits in 1 2-3 innings.
Arizona had won four straight.
The Braves won the opener of a 10-game homestand. They play 16 of their next 19 at Turner Field.
CUBS 5, METS 3
CHICAGO (AP) — Anthony Rizzo had two hits and drove in the go-ahead run in his first game with the Cubs.
Rizzo doubled home Steve Clevenger with two out in the fourth, making it 4-3 and sending the Mets to their fourth straight loss — matching a season high. Rizzo was called up earlier in the day for his highly anticipated Cubs debut after posting big numbers for Triple-A Iowa.
Dillon Gee (5-6) struck out six in five innings for the Mets, but gave up four runs and nine hits. New York's David Wright went 0 for 3 with a walk and a sacrifice fly, ending his hitting streak at 15 games.
Scott Maine (1-1) threw two scoreless innings for his first big league victory. Carlos Marmol worked the ninth for his fifth save of the season and No. 100 of his career.
PHILLIES 5, PIRATES 4
PHILADELPHIA (AP) — Ty Wigginton and Carlos Ruiz homered to back Vance Worley and Philadelphia won its second straight to climb out of last place in the NL East.
Worley (4-4) allowed three runs and six hits in six-plus innings. Michael Schwimer pitched out of a jam in the seventh, Antonio Bastardo worked the eighth and Jonathan Papelbon finished for his 18th save in 19 tries, allowing a solo homer to Michael McKenry.
Ruiz hit his career-best 10th homer to give the Phillies an insurance run in the eighth. It was his 10th three-hit game.
Pirates starter Erik Bedard (4-8) gave up four runs and eight hits in six innings.
NATIONALS 12, ROCKIES 5
DENVER (AP) — Adam LaRoche homered twice for Washington, and Ryan Zimmerman collected his 1,000th career hit and also homered.
Ian Desmond went 4 for 4, Michael Morse had four hits and Tyler Moore also connected for the Nationals, who had a season-high 21 hits, which tied the club mark since the team moved to Washington in 2005.
Dexter Fowler and Jonathan Herrera homered and Jordan Pacheco had three hits for the Rockies, who have dropped 15 of 19. Christian Friedrich (4-5) gave up four runs and nine hits in 4 1-3 innings.
Gio Gonzalez (10-3) picked up the win despite allowing five runs, four earned, and eight hits in six innings. He struck out seven.
ASTROS 5, PADRES 3
HOUSTON (AP) — J.D. Martinez hit a two-run homer, Jed Lowrie added a solo shot and the Astros held on for the win.
Houston starter Jordan Lyles (2-4) allowed a run and six hits in 6 1-3 innings to break a three-game losing streak and earn his first victory since June 3.
The game was tied at 1 after Will Venable and Lowrie exchanged solo homers in the third.
Houston took the lead when a run scored on a wild pitch and extended it with an RBI single by Chris Johnson. Martinez's soaring drive to left-centre off Kip Wells (0-1) made it 5-1.