Pinch-hitter Joe Kelly's run-scoring single in the top of the 10th inning proved to be the difference, as the St. Louis Cardinals rallied past the Miami Marlins, 8-7, in a wild game on Monday.

Rafael Furcal added an RBI double in the 10th for the Cardinals, who were coming off a three-game sweep of the Royals. Yadier Molina hit a two-run homer in the ninth to tie the game. Allen Craig and Carlos Beltran had an RBI apiece.

"Unbelievable," Cardinals manager Mike Matheny said of the win. "Yaddy (Molina) again getting the big hit...it was a great effort."

St. Louis starter Jake Westbrook allowed two runs on six hits over six innings. Victor Marte (2-1) recorded the final two outs in the ninth to pick up the win.

Jose Reyes went 2-for-5 with two RBI and a run scored for the Marlins, who failed to build off a 9-0 win over the Blue Jays on Sunday. John Buck, Hanley Ramirez, Giancarlo Stanton, Logan Morrison and Greg Dobbs each drove in a run.

Ricky Nolasco gave up one unearned run on four hits over 6 2/3 innings. Chad Gaudin (1-1) allowed two runs on three hits and a walk in the 10th to take the loss.

Holding a 6-2 lead, the Marlins sent Heath Bell to the mound in the ninth. The comfortable margin fell apart fast after Furcal walked and Matt Holliday hit a one-out double to right-center field. Beltran's RBI single to right and Craig's sacrifice fly made it a two-run game. Molina stepped to the plate next and smacked a fastball over the wall in left to tie the game.

"Plain and simple this loss is on me," Bell said. "I didn't have my stuff tonight."

Miami failed to score in the bottom of the inning, which featured some confusion over the lineup cards. St. Louis ended up taking Craig out of the game by mistake. Tony Cruz, a backup catcher, took over at first.

Ironically, the lineup mishap came back to help the Cardinals in the 10th. Tyler Greene hit a one-out single to left and raced home on Furcal's double down the left-field line. Holliday was later hit by a pitch before Beltran was intentionally walked to load the bases with two outs. The lineup mistake forced Kelly, a pitcher, to take an at-bat. Not only did Kelly reach base on an infield single, but his first-career hit knocked in a key run.

"0-2, I just put it in play," Kelly said of the hit.

The Marlins made it very interesting in the bottom half. Jason Motte gave up a one-out double to Omar Infante, who scored on Buck's single. Justin Ruggiano walked to put two men on with two outs, but Reyes lined out to end the game.

The Marlins got on the board in the third. Buck led off with a walk, moved to second on a sacrifice bunt and crossed the plate on Reyes' double down the left-field line.

Miami tacked on another run in the fifth when Buck hit a one-out single, advanced to second on a sacrifice bunt and scored on Reyes' single to right.

The Cardinals finally got to Nolasco in the seventh. David Freese singled and pinch-hitter Skip Schumaker walked with two outs. Furcal reached base on Infante's missed catch error at second to load the bases. Randy Choate came in from the bullpen and Freese scored on a passed ball. Pinch-hitter Shane Robinson walked to fill the bags again, but was called out when he was hit by Holliday's infield single while running the bases.

But the Marlins scored four runs in the bottom half to create some distance. Fernando Salas gave up a double to Scott Cousins and walked Buck. Eduardo Sanchez came on and intentionally walked Reyes to load the bases with one out. Sanchez allowed two runs to score after walking both Ramirez and Stanton. Marc Rzepczynski got Morrison to ground into a fielder's choice, but not before another run scored. Dobbs' RBI infield single made it a 6-1 game.

St. Louis got one run back in the eighth. Steve Cishek walked Beltran and gave up a one-out single to Molina. Freese followed with a grounder to third baseman Ramirez, who was charged with two errors on the play. After failing to field the ball cleanly, Ramirez was off the mark on a throw to second. Beltran scored on the wild throw to make it a four-run contest. Michael Dunn took over on the mound and recorded a pair of strikeouts.

Game Notes

The Cardinals and Marlins are meeting for the first time since a one-game set on April 4 that opened up Miami's brand-new Marlins Park. St. Louis spoiled the debut of the ballpark with a 4-1 win. The Cardinals have won seven in a row against the Marlins...Westbrook was coming off his first complete game of the season after going the distance last Wednesday against Detroit...Beltran is now just three hits shy of collecting his 2,000th career hit...Buck scored three runs.