ATLANTA (AP) - The Chicago Cubs stopped Dan Uggla's 33-game hitting streak and rallied from a four-run deficit to beat the Atlanta Braves 6-5 on Sunday.
The Braves led 4-0 through five innings and 5-4 through six, but Carlos Pena hit a go-ahead two-run homer in the seventh for Chicago.
Uggla went 0 for 3 with an RBI, ending the longest hitting streak in the majors in five years.
His best chance to extend the streak came in the fifth, but second baseman Darwin Barney made a diving catch of his fly ball in shallow right field.
Uggla grounded out to shortstop against Jeff Samardzija in the seventh in his final at-bat. He didn't come up in the ninth, when Carlos Marmol earned his 28th save.
The Cubs have won 11 of 14, including two of three from the Braves. Chicago has won four straight series for the first time since Sept. 9-21, 2008.
John Grabow (3-0) got the victory, and Eric O'Flaherty (1-4) allowed Pena's 23rd homer.
Diamondbacks 5, Mets 3
PHOENIX (AP) - Justin Upton homered, Paul Goldschmidt doubled twice and Arizona earned its sixth consecutive win.
Diamondbacks starter Jason Marquis, acquired in a July 30 trade from Washington, was hit on the right shin by a line drive in the third and left the game one inning later with a broken shinbone.
Goldschmidt doubled and scored on Henry Blanco's double to give Arizona a 4-3 lead in the sixth inning.
Zach Duke (3-4), who came on in relief of Marquis, allowed two runs and four hits over 2 2-3 innings and David Hernandez pitched the ninth for his 11th save.
New York's Chris Capuano (9-11) allowed four runs and nine hits over six innings.
Brewers 2, Pirates 1, 10 innings
MILWAUKEE (AP) - Nyjer Morgan hit a sacrifice fly in the 10th inning to help Milwaukee complete a three-game series sweep.
The Brewers now have won all eight games against the Pirates this season and 12 straight over the last two years at Miller Park. The last time the Pirates won at Miller Park was April 28, 2010. The Pirates have won just two of the team's last 36 games in Milwaukee.
With one out in the 10th inning, George Kottaras singled to left field and Casey McGehee followed with a double. Morgan then hit the first pitch from Chris Resop (3-4) to deep right field and Kottaras scored easily for the win.
Takashi Saito (3-1) pitched a scoreless 10th inning to get the win.
Cardinals 6, Rockies 2
ST. LOUIS (AP) - Albert Pujols hit the longest home run at six-year-old Busch Stadium and St. Louis overcame an injury to starter Edwin Jackson with stellar bullpen work.
Yadier Molina had three hits, a walk and two RBIs for St. Louis, which remained five games behind NL Central-leading Milwaukee with 42 games to go, six of them against the Brewers.
Mark Ellis homered in the first for the Rockies, who have lost four of five. Esmil Rogers (6-2) issued a career-high seven walks, one intentional, in five innings. Colorado has lost six of its last seven in St. Louis and trails the all-time series 82-81.
Pujols' two-run drive in the first was estimated at 465 feet.
Jackson (2-1) has a 4.62 ERA in four starts over 25 1-3 innings with six homers since coming to St. Louis in a deal that sent outfielder Colby Rasmus to the Blue Jays.
Padres 7, Reds 3
CINCINNATI (AP) - San Diego scored four runs in the third inning Sunday off an ailing Dontrelle Willis, who left during the rally with a sore forearm.
Willis (0-3) left during the four-run rally, shaking and flexing his pitching hand. He'll be examined again on Monday.
A day after the Reds hit seven homers, they were limited to just four hits, including Jay Bruce's three-run shot off Wade LeBlanc (1-2).
James Darnell had a pair of run-scoring singles for the Padres. Orlando Hudson also tripled home a run.
The Reds had won four in a row, one shy of their season high.
Giants 5, Marlins 2
MIAMI (AP) - Ryan Vogelsong pitched into the eighth inning to earn his career-high 10th win and San Francisco hit four home runs.
Cody Ross ended the Giants' major league-record streak of 21 consecutive solo homers when he hit a two-run shot in the third inning. It was the first non-solo homer for San Francisco since July 6.
Nate Schierholtz started a new streak with a solo homer in the fourth. Brandon Belt, recalled Saturday from Triple-A, hit solo homers in the sixth and eighth.
Vogelsong (10-2) struck out eight while allowing two runs and four hits in 7 2-3 innings, lowering his ERA to 2.47. Ramon Ramirez came on to retire Brett Hayes with two on and two out in the ninth for his second save in three chances.
Florida's Chris Volstad (5-9) gave up four runs and seven hits in six innings.
Dodgers 7, Astros 0
LOS ANGELES (AP) - Hiroki Kuroda pitched seven strong innings, Justin Sellers hit a three-run drive for his first major league homer and the Dodgers finished a sweep of the three-game series.
Matt Kemp matched his career high with his 28th homer for the Dodgers, who had lost four in a row before the lowly Astros came to Chavez Ravine. Dioner Navarro also went deep and scored twice.
Kuroda (8-14) allowed five singles, struck out six and walked one. Kuroda's last five victories have come in games in which he didn't allow a run, dating to his 2-0 win at Pittsburgh on May 11.
The rebuilding Astros have dropped a season-worst six straight games. Jordan Lyles (1-7) gave up seven runs and seven hits in 5 1-3 innings, including all three home runs.