John Buck and Logan Morrison smacked back-to-back solo homers in the bottom of the seventh inning, with the latter providing the go-ahead run, as the Miami Marlins downed the St. Louis Cardinals, 5-3, in the finale of a three-game set.
Buck provided two hits and knocked in a pair, while Omar Infante added an RBI double and a run scored for Miami, which had lost 17 of its previous 20 games.
Anibal Sanchez (4-6) surrendered three runs on seven hits and two walks in seven innings, while Heath Bell worked around a single in the ninth to notch his 15th save of the year.
Tony Cruz registered two hits, including his first career homer, for the Cardinals, who had their five-game winning streak snapped.
"Any time you beat the Cardinals it's a good win," said Buck, "especially when they're playing that well. Hopefully it can be momentum we can build on and start our own little stretch."
With the game tied at 2-2 heading into the seventh, Cruz cracked a solo shot into left-center for a 3-2 St. Louis edge, but the lead was short- lived as Buck and Morrison's back-to-back blasts in the home half gave Miami a 4-3 advantage.
Buck laced a 1-0 fastball from Fernando Salas into the seats in left. Sam Freeman (0-1) replaced Salas on the mound and Morrison, pinch-hitting for Sanchez, scalded a screamer that ricocheted off the top of the wall and clanked off a railing before landing back onto the field of play.
The umpiring crew never credited Morrison with a homer as he trotted into second but, upon further review, the ruling was overturned.
The Marlins tacked on a run in the eighth on Infante's run-scoring double down the left field line, pushing the margin to 5-3.
Cardinals manager Mike Matheny wasn't too upset with the loss.
"Five consecutive wins is always a positive," he said. "They guys need to remember that. That was a good run."
Earlier, the Cardinals struck first with a pair of runs in the opening frame but the Marlins retaliated with two in the fifth to tie the contest.
Jon Jay walked and Matt Holliday doubled to put runners on the second and third. Carlos Beltran lifted a sacrifice fly to left, plating Jay, before David Freese ripped a double to left, bringing home Holliday for a 2-0 lead.
Infante and Gaby Sanchez worked back-to-back walks to start the fifth before Buck singled back up the middle to plate Infante. Jose Reyes' RBI groundout knotted the score at two.
Cardinals starter Joe Kelly allowed two runs on five hits and two walks in six innings...St. Louis was 2-for-6 with runners in scoring position while Miami finished 2-for-8 with RISP.