Second baseman Dan Uggla #26 of the Atlanta Braves connects...

Second baseman Dan Uggla #26 of the Atlanta Braves connects for a second inning home run to extend his hitting streak to 32 games during the game against the Chicago Cubs at Turner Field. (Aug. 12, 2011) Credit: Getty Images

The Chicago Cubs stopped Dan Uggla's hitting streak at 33 games and rallied from a four-run deficit to beat the host Atlanta Braves, 6-5, Sunday. "That's more games than I thought I would ever have," Uggla said.

The Braves led 4-0 through five innings and 5-4 through six before Carlos Peña's two-run homer in the seventh.

Uggla's streak was the longest in the majors in five years. He was 0-for-3 with an RBI.

His best chance to extend the streak came in the fifth, but second baseman Darwin Barney made a diving catch of Uggla's fly ball in shallow rightfield. Barney was fully extended when he made the catch in front of rightfielder Tyler Colvin. "I wasn't even looking at him," Uggla said of Barney. "I was looking at Colvin and I was like, 'Oh, it's going to drop in front of him.' And the next thing you know, Barney comes flying through."

Barney said the catch was more important because of Uggla's streak. "Because of the circumstances and all that, I'm pretty happy about it," Barney said. "It was a good streak for him. He's a great player."

Uggla grounded out to shortstop against Jeff Samardzija in the seventh in his final at-bat.

Giants 5, Marlins 2: Ryan Vogelsong pitched into the eighth inning to earn his 10th win and visiting San Francisco used four home runs to beat slumping Florida. Cody Ross ended the Giants' major league-record streak of 21 consecutive solo homers when he hit a two-run shot in the third. It was the first non-solo homer for San Francisco since July 6.

Cardinals 6, Rockies 2: Albert Pujols hit the longest home run at 6-year-old Busch Stadium (465 feet) and host St. Louis overcame an injury to Edwin Jackson with stellar bullpen work. Yadier Molina had three hits, a walk and two RBIs for St. Louis, which took two of three from Colorado.

Brewers 2, Pirates 1: Nyjer Morgan's sacrifice fly in the 10th gave host Milwaukee a series sweep. The Brewers are 8-0 against Pittsburgh this season.

Padres 7, Reds 3: Visiting San Diego scored four runs in the third to avoid a sweep.

Dodgers 7, Astros 0: Hiroki Kuroda went seven innings and Justin Sellers hit a three-run drive for his first major-league homer to power host L.A.

Mariners 5, Red Sox 3: Charlie Furbush allowed one run in a career-best seven innings and Casper Wells homered as host Seattle took two of three from the AL East-leading Red Sox. For the first time since late June, the Red Sox failed to win or split a series. Their AL East lead dwindled to a half-game over the Yankees, who were rained out.

Rangers 7, Athletics 6: David Murphy hit a tiebreaking RBI single with two outs in the ninth inning as visiting Texas finished a three-game series sweep.

White Sox 6, Royals 2: Brent Lillibridge hit a three-run homer for host Chicago (60-60), which has won eight of 10.

Orioles 8, Tigers 5: Nick Markakis homered and drove in four runs and Jo-Jo Reyes allowed four hits in six innings for his first win with host Baltimore.

Blue Jays 5, Angels 4:Edwin Encarnacion's RBI single in the 10th lifted host Toronto. Jose Bautista hit his major league-leading 34th homer and Eric Thames also connected for the Blue Jays. -- AP

More MLB news