J. Pat Carter, Associated Press
Florida's Jorge Cantu scores Tuesday on a high throw to St. Louis catcher Yadier Molina. Cantu scored after a double by Mike Jacobs.

MIAMI — Hanley Ramirez hit a three-run homer and Florida pitchers held the St. Louis Cardinals scoreless over the last eight innings as the Marlins rallied for a rain-delayed 4-3 victory Tuesday night.

Chris Volstad (4-2) pitched five innings for the win in his sixth major league start. He gave up five hits and three walks, overcoming a poor start after the first five Cardinals batters reached base to give St. Louis a 3-0 lead.

Volstad yielded only two hits and a walk in his final four innings.

Four Florida relievers combined for four shutout innings after a rain delay of 1 hour, 53 minutes in the bottom of the fifth. Kevin Gregg pitched a perfect ninth for his 26th save in 32 opportunities.

The Cardinals didn't get a runner past second base after the first inning.

Kyle Lohse (13-5) gave up four runs and six hits, losing for the third time in four decisions. He came out after the rain delay.

The Marlins evened the four-game series between surprising playoff contenders at a game apiece.

Ramirez gave Florida a 4-3 lead in the second inning when he hit a 2-0 pitch for his first home run in August. He came into the game with only two RBIs in the month.

Ramirez was at the plate with nobody on and one out in the fifth when the rain came.

After Volstad gave up three runs in the first, the Marlins cut into the lead in the bottom half on Mike Jacobs' two-out RBI double.

Skip Schumaker and Felipe Lopez opened the game with back-to-back singles. After Albert Pujols walked, Ryan Ludwick hit a three-run double to put the Cardinals up 3-0.

METS 4, NATIONALS 3: At Washington, New York snapped an eighth-inning tie when Damion Easley was hit by a pitch with the bases loaded and the beleaguered bullpen finally saved one for Johan Santana. The loss was the sixth straight for the Nationals. Easley was hit by Saul Rivera (3-5) to make it 4-3, and a shaky relief corps that has struggled badly without injured closer Billy Wagner held the lead. Joe Smith and Pedro Feliciano each worked a scoreless inning. Feliciano struck out two in a perfect ninth for his third major league save.

DIAMONDBACKS 4, ROCKIES 2: At Denver, Randy Johnson pitched six solid innings and singled in a run and Adam Dunn had a double in his Arizona debut.

Dunn went 1-for-3 with a walk and Chad Tracy homered for Arizona, which has won two straight after a four-game skid. The Diamondbacks acquired Dunn from Cincinnati on Monday for a minor leaguer and two players to be named.

ASTROS 12, GIANTS 4: At Houston, Lance Berkman hit a grand slam in an eight-run seventh for Houston, two innings after San Francisco ace Tim Lincecum left the game with an injured knee.

The win was the sixth straight for the Astros.

Lincecum allowed one hit and struck out seven before he was hit in the right knee by Brad Ausmus' line drive in the fifth. The Giants' ace limped off the field and went for X-rays which Giants manager Bruce Bochy said were negative. He said Lincecum would be re-evaluated Wednesday.

BREWERS 5, PADRES 2: At San Diego, Prince Fielder hit a three-run homer and Jeff Suppan pitched eight strong innings to lead the Milwaukee Brewers to their seventh straight victory on Tuesday night.

Fielder hit his 27th home run to break a 1-1 tie in the fourth inning.

DODGERS 4, PHILLIES 3: At Los Angeles, Andre Ethier singled home the winning run with one out in the ninth inning, and Casey Blake had two RBIs for Los Angeles, including a sacrifice fly that tied it in the eighth.

Phillies reliever J.C. Romero (4-4) began the ninth by hitting Russell Martin with a pitch. Martin went to second on James Loney's groundout to first, then scored when Ethier lined a 1-2 pitch into the outfield.

REDS 5, PIRATES 1: At Pittsburgh, Edinson Volquez pitched into the seventh inning to snap a post All-Star break slump for Cincinnati in its first game since trading Adam Dunn. Brandon Phillips and Javier Valentin homered to help the Reds end a season-worst six-game losing streak. Corey Patterson had two hits and two RBIs. Volquez (14-5) allowed one run and five hits in 6 2/3 innings. He entered 1-2 with a 6.64 ERA in four starts since the break.

Phillips hit a two-out, two-run homer in the first off Jeff Karstens (2-1), who tossed 15 scoreless innings in his first two starts after being acquired from the Yankees.

Karstens allowed four runs and seven hits in seven innings.

AMERICAN LEAGUE

RED SOX 19, RANGERS 17: At Boston, Kevin Youkilis' go-ahead homer in the eighth sent Boston to a 19-17 victory over Texas after the Rangers fought back from a 10-run first-inning deficit Tuesday night.

Boston's big opening inning included two three-run homers by David Ortiz.

Youkilis three-run shot in the eighth off Frank Francisco (2-4) was his second homer of the game and broke a 16-16 tie. It came after Dustin Pedroia, who was 5-for-6, doubled in a run and Ortiz was intentionally walked.

The 19 runs were the most scored by the Red Sox this season and they ruined a comeback that matched the greatest ever against Boston. The Red Sox squandered a 10-run lead on June 4, 1989, against Toronto when they lost 13-11 in 12 innings after they led 10-0 through six.

Texas' Marlon Byrd also had five hits. Ortiz had six RBIs, Youkilis had five and Ian Kinsler and Chris Davis had four each for Texas. Rangers starter Scott Feldman became the first major league pitcher in 90 years to allow 12 runs and not take the loss since Gene Packard of the St. Louis Cardinals got the win in a 16-12 victory over the Philadelphia Phillies on Aug. 3, 1918.

WHITE SOX 9, ROYALS 0: At Chicago, Javier Vazquez threw eight scoreless innings and Jermaine Dye hit a two-run homer to lead Chicago.

Vazquez (9-10) matched his season-high with 10 strikeouts, gave up five hits and walked one to win for the second time in nine starts. Adam Russell completed the White Sox's first shutout since beating the Los Angeles Dodgers 2-0 on June 26.

Brian Bannister (7-11) lost his fifth straight decision. He gave up four hits, three home runs.

Dye's 28th homer, a two-run shot, came in the first inning. Nick Swisher and A.J. Pierzynski added solo homers.

YANKEES 9, TWINS 6: At Minneapolis, Alex Rodriguez hit a tiebreaking homer in the 12th inning and the scuffling New York Yankees overcame Mariano Rivera's first blown save of the season.

Xavier Nady added a two-run shot later in the 12th, also off Matt Guerrier (6-6), to help New York end a four-game skid — their longest of the season. Johnny Damon hit a leadoff homer and finished with three hits. he also scored twice.

ANGELS 7, MARINERS 3: At Anaheim, Calif., Vladimir Guerrero, Garret Anderson and Juan Rivera homered to help the Los Angeles Angels rally for a victory over the Seattle Mariners.

Jon Garland (11-7) allowed nine hits and three runs in seven innings for the Angels, who have won five straight and improved to 6-1 on their eight-game homestand. Francisco Rodriguez came in with runners on first and second and struck out Raul Ibanez for his major league-best 46th save.

ATHLETICS 2, RAYS 1: At Oakland, Calif., Bobby Crosby hit a two-run home run and Gio Gonzalez got his first major league win, helping the Oakland Athletics beat the Tampa Bay Rays on Tuesday night.

Gonzalez pitched out of a couple of jams in five-plus innings in his second career start and the A's won for the second time in their last 14 games to briefly derail the AL East-leading Rays.

BLUE JAYS 6, TIGERS 4: At Detroit, Vernon Wells' two-out, two-run double capped a four-run seventh to lift Toronto. Adam Lind had three hits, including a homer, and drove in two runs for Toronto, which has won two straight over Detroit. Gary Sheffield hit two home runs and Magglio Ordonez added one for Detroit, which had lost nine of 12.

After the Tigers went ahead 4-1 with three runs in the sixth, the Blue Jays did their damage off relievers Bobby Seay and Joel Zumaya in the seventh.

A.J. Burnett (15-9) won his fifth consecutive game, allowing four runs and eight hits in six innings.

Zumaya (0-2) faced five batters and gave up two hits and three walks. He was charged with two runs.

INDIANS 7, ORIOLES 5: At Cleveland, Asdrubal Cabrera hit a tiebreaking RBI single in the eighth and Cleveland won its fifth straight. Cabrera had three of Cleveland's 12 hits as the Indians matched their season-best winning streak. Rafael Perez (2-2) struck out two in 1 2/3 innings and Jensen Lewis pitched a perfect ninth for his second career save.

The Orioles have allowed 35 runs (33 earned) in the last three games. Baltimore pitchers have given up 45 hits, 10 walks, six homers, hit three batters and tossed six wild pitches.

Jim Johnson (2-4) allowed Ben Francisco's single in the eighth that drove in Cabrera and made it 7-5.