Aramis Ramirez had two hits and three RBIs and the Chicago Cubs rebounded from a final-inning loss a day earlier to beat the St. Louis Cardinals 7-1 on Sunday. Geovany Soto hit his 15th homer and Derrek Lee had three hits and an RBI for Major League Baseball's National League Central Division leaders, who took two of three from the second-place Cardinals and won for only the fourth time in 11 games overall. The weekend series was sold out with standing-room attendance of 46,752 for the finale. Mets 4, Phillies 2, 12 innings: In Philadelphia, Fernando Tatis hit a two-run homer in the 12th inning, lifting the New York Mets to a 4-2 victory over the Philadelphia Phillies on Sunday in a game that ended more than seven hours after it started. Jayson Werth hit a two-run homer off Billy Wagner with two outs in the ninth to send the game into extra innings after it was delayed 2 hours, 50 minutes because of heavy rain in the bottom of the eighth. Dodgers 5, Giants 3: In San Francisco, James Loney doubled twice and drove in three runs and Los Angeles beat San Francisco for its third consecutive series win. Andre Ethier added three hits and drove in a run for the Dodgers, who have won eight of their past 10 road games. Matt Kemp also drove in a run. Braves 7, Astros 6, 17 innings: In Atlanta, Mark Teixeira singled off the wall with the bases loaded in the 17th inning, giving the Atlanta Braves a 7-6 victory over the Houston Astros on Sunday in the longest game in Turner Field history. Rain delayed the start of the game by 1 hour, 50 minutes, and solid pitching extended it much longer. The Braves rallied with two runs in the eighth inning to tie it, and each team had several chances to score the go-ahead run. Brewers 11, Pirates 6: In Milwaukee, J.J. Hardy hit two homers, MLB All-Star starter Ryan Braun added one and the Brewers completed a three-game sweep. Milwaukee tied franchise records with nine doubles and 12 extra-base hits to finish its fifth series sweep, all at home. The Brewers improved to 10 games over .500 for the first time this season. Diamondbacks 3, Padres 2: In Phoenix, Randy Johnson struck out 10 and allowed three hits in 6 1-3 innings and Arizona beat San Diego. Justin Upton hit the second-longest home run in Chase Field history and Mark Reynolds also homered for the Diamondbacks, who went 3-4 on their seven-game homestand. Scott Hairston hit his second leadoff homer of the season for the Padres, who saw their modest two-game winning streak snapped and have lost 15 of 19. Marlins 10, Rockies 5: In Denver, Cody Ross homered and drove in five runs, Chris Volstad tossed two scoreless innings to win his major league debut and Florida beat the Rockies. Ross knocked in 15 runs in the four-game series after coming to Colorado with just 12 RBIs this season. Colorado had won five straight but got a rare bad outing from ace Aaron Cook (11-6), who had his worst outing of the year on the day he made his first All-Star team. Cook allowed seven earned runs and 11 hits in 7 1-3 innings. Reds 6, Nationals 5: In Cincinnati, Adam Dunn hit a three-run homer that started Cincinnati's comeback, and the Reds held on to beat Washington, completing a four-game series sweep.