Jon Jay scored from first on right fielder Giancarlo Stanton's throwing error on Shane Robinson's single with two outs in the ninth inning, giving the St. Louis Cardinals a 5-4 victory over the Miami Marlins on Saturday.
Edward Mujica (1-1) worked a scoreless ninth for the Cardinals after Matt Adams' pinch-hit two-run homer tied it two innings earlier.
Jay drew a full-count walk off A.J. Ramos (3-3) with two outs in the ninth and had third easily on Robinson's pinch-hit single, then scored without a play after Stanton hesitated before throwing a relay that skipped under Morrison's glove at first base.
The Marlins got homers from Derek Dietrich and Logan Morrison but their run of four straight series wins ended after dropping the first two against the Cardinals.
Manager Mike Redmond was ejected for arguing a close play at the plate in the fourth, with replays indicating Adeiny Hechavarria's legs crossed the plate before catcher Tony Cruz tagged him on the shoulder.
Adams' homer off Mike Dunn foiled the Marlins' switch from starter to a lefty-lefty matchup and tied it at 4. Adams has both of the Cardinals' pinch homers this season.
Both starters reached season bests for innings, with Eovaldi going up three runs in 6 2-3 innings and Joe Kelly allowing four runs in six innings.
Manager Mike Matheny gave Kelly the fifth spot in the rotation on June 22 but the Cardinals didn't need him until now because of three off days, and the right-hander was used just once in long relief on June 28 before facing the Marlins.
Morrison has four homers his last six games against the Cardinals. His fourth of this season put the Marlins up 3-1.
Kelly singled for his sixth career hit in 38 at-bats and scored on Matt Carpenter's triple in the third, a hooking drive that barely got past center fielder Marcell Ozuna. Carlos Beltran followed with an RBI single before Matt Holliday grounded into his 21st double play, by far the most in the majors.
Dietrich doubled with one out in the second and scored easily on Hechavarria's single.
NOTES: The Cardinals are slotting ace Adam Wainwright ahead of rookie Shelby Miller on Tuesday, giving the 11-game winner two starts heading into the All-Star break. Because Wainwright will be pitching next Sunday at Chicago, he won't be eligible for the All-Star team. ... A second straight giveaway, this one for Holliday jerseys, attracted a second straight sellout with attendance of 45,475. Fans jammed entrances more than two hours before game time, to make sure they got the souvenir given to fans 16 and over. ... Cardinals SS Daniel Descalso had two throwing errors, a day after 2B Carpenter had a pair of errors. ... Cruz made just his eighth start of the season with Yadier Molina getting a day off. ... Cardinals starting SS Pete Kozma, in an 0 for 17 slump, did not play for the third straight game.