CINCINNATI – Colby Rasmus doubled home a run in the 10th inning Sunday, and the St. Louis Cardinals overcame five Cincinnati homers – including two solo shots in the ninth – to beat the Reds 8-7 and salvage their series finale.

Rasmus got his decisive hit off Francisco Cordero (0-2), who is perfect in nine save chances but has lost twice when pitching with the score tied.

Jerry Hairston Jr. and Micah Owings, the Reds’ fifth starter and one of their top pinch hitters, homered in the ninth off Ryan Franklin (1-0) to tie it at 7 and end the closer’s run of perfection. Franklin had converted all nine save chances and hadn’t allowed a run all season.

Given another chance to close it out, the Cardinals struggled again.

Cincinnati loaded the bases with two outs in the 10th against Blaine Boyer. Right-hander Chris Perez came on and got pinch-hitter Paul Janish to foul out, picking up his first save this season.

Jay Bruce, Adam Rosales and Joey Votto also homered for the Reds, who had won three in a row for their best record in three years.

Albert Pujols hit his 12th homer for the Cardinals.

Giants 7, Dodgers 5, 13 innings

LOS ANGELES – Randy Winn hit a tiebreaking, two-run single with the bases loaded in the 13th inning and finished with four hits, leading San Francisco over Los Angeles.

Juan Pierre had three hits for the second straight game and scored three times for the Dodgers, who went 8-3 on a homestand in which they set a modern major league record with a 13-0 start at home and then lost Manny Ramirez to a 50-game suspension.

The defending NL West champions are 1-3 since their slugging left fielder was suspended Thursday for using a banned drug.

Brian Wilson (2-0) got the win with two innings of one-hit ball. Guillermo Mota (2-1) was the loser.

Mets 8, Pirates 4

NEW YORK – Livan Hernandez survived a shaky start to go six innings and New York welcomed manager Jerry Manuel back from his one-game suspension with their seventh straight victory.

Carlos Beltran, Luis Castillo and Omir Santos each drove in a pair of runs for the Mets, who haven’t lost since May 2 at Philadelphia.

Pittsburgh has dropped eight in a row and 12 of 13 after an 11-7 start to the season.

The 34-year-old Hernandez (3-1) allowed two runs and seven hits for his 150th career win.

Manuel was back in the New York dugout after serving a suspension for making contact with an umpire Thursday.

Nate McLouth hit a two-run homer in the ninth and finished with three RBIs for the bumbling Pirates, who held a team meeting before the game. Ian Snell (1-5) got the loss.

Cubs 4, Brewers 2

MILWAUKEE – Alfonso Soriano hit a towering two-run homer in a four-run third inning and Chicago beat Milwaukee to avoid a series sweep.

Cubs starter Sean Marshall (1-2) settled down after a rocky start, giving up a pair of runs and five hits in five innings. Marshall left the game with the Cubs holding a 4-2 lead, handing the ball over to what has been a surprisingly vulnerable Chicago bullpen.

Angel Guzman didn’t allow a baserunner in the sixth or seventh, and Carlos Marmol managed to pitch out of a bases-loaded jam in a messy eighth inning. Kevin Gregg pitched the ninth and walked Rickie Weeks with one out before striking out Corey Hart and Ryan Braun for his sixth save.

Milwaukee’s Jeff Suppan (2-3) went six innings, giving up four runs – three earned – and eight hits.

Braves 4, Phillies 2

PHILADELPHIA – Casey Kotchman had three hits and three RBIs, Kenshin Kawakami pitched six effective innings and Atlanta rallied to get the win.

Kotchman hit a two-out, two-run single off Jack Taschner (1-1) in the seventh inning to give the Braves a 3-2 lead. He also had an RBI double in the ninth.

Garret Anderson had two hits for the Braves (15-16), who took two of three from the Phillies to move within one game of .500. Rafael Soriano worked the ninth for his third save in three opportunities.

Matt Stairs got a rare start for Philadelphia and went 2-for-2 with a run-scoring double and a walk. Ryan Howard also had a pair of doubles and scored two runs.

Kawakami (2-4) allowed two runs and five hits, struck out six and walked four.

Rockies 3, Marlins 2

DENVER – Aaron Cook pitched six solid innings and Troy Tulowitzki homered as part of a third consecutive multihit game, leading Colorado to the win.

Cook (2-1) allowed two runs – one earned – and four hits, helping the Rockies snap a three-game skid. He picked off a runner at second to get out of a fourth-inning jam.

Huston Street got three outs for his fourth save in four chances, preserving the Rockies’ first win in a one-run game this season after losing their first eight.

Chris Volstad (2-2) went six innings for Florida, allowing three runs – two earned – and seven hits.

Diamondbacks 10, Nationals 8

PHOENIX – Chris Snyder and Eric Byrnes each drove in three runs and the Diamondbacks gave manager A.J. Hinch his first victory.

Ryan Zimmerman pushed his hitting streak to 28 games with a double and two singles, and Adam Dunn and Josh Willingham both homered twice. But that wasn’t enough to extend the Nationals’ season-best three-game winning streak.

Arizona’s Justin Upton had three hits, including a double, to run his hitting streak to 17 games, second only to Zimmerman’s in the majors this season. Ryan Roberts also had three of the Diamondbacks’ season-high 17 hits as Arizona snapped a three-game slide, the last two under Hinch after Bob Melvin was fired.

Esmerling Vasquez (1-1) got the win despite giving up two runs in one inning. Chad Qualls worked the ninth for his eighth save in nine chances.

Washington’s Logan Kensing (0-2) allowed four runs in two-thirds of an inning.

Astros 12, Padres 5

HOUSTON – Miguel Tejada and Carlos Lee each drove in four runs to help Astros ace Roy Oswalt get his first win of the season.

Ivan Rodriguez had four hits for Houston, which set season highs for runs and hits (16) while completing a sweep of the weekend series. It was the Astros’ first sweep since taking four from Pittsburgh last September.

Oswalt (1-2) gave up four runs and six hits in six innings.

Josh Geer (0-1) lasted only three-plus innings for San Diego. Geer, who played college ball at nearby Rice, gave up seven runs, five earned, and seven hits.

Chase Headley and Adrian Gonzalez each hit a two-run homer for the Padres, who have lost 10 of 12.

Only subscribers are eligible to post comments. Please subscribe or to participate in the conversation. Here’s why.

Use the form below to reset your password. When you've submitted your account email, we will send an email with a reset code.