Eovaldi, who will be Miami's No. 2 starter, threw 83 pitches and did not walk a batter while striking out two.
St. Louis' Lance Lynn, in line to pitch the third game, gave up three runs in 5 2/3 innings with five strikeouts.
Marlins lefty Dan Jennings walked three and allowed a run-scoring single by Pete Kozma in the ninth and later threw a wild pitch, helping Shane Robinson score and allowing the Cardinals to even the score at 5-5. But a Chris Coghlan single in the bottom of the ninth gave Miami the win.
A back-and-forth game swung in the Marlins' favor in the sixth inning. St. Louis rallied with two runs off Eovaldi, who gave up five singles in the inning. Daniel Descalso singled and scored on Yadier Molina's RBI hit to right, and Matt Adams' single to left put the Cardinals in front, 3-2.
Lynn then recorded two quick outs before surrendering a single to Chris Valaika. After 94 pitches, Lynn's day was done.
Lefty Randy Choate entered to face left-handed hitting Kyle Skipworth, who drew a walk. Fernando Salas relieved Choate and walked Gorkys Hernandez. Austin Nola, a Minor Leaguer brought up for the day to add depth on the bench, delivered a pinch-hit RBI single to right. A second, and go-ahead, run scored when right fielder Oscar Taveras bobbled the ball.
Of Miami's three runs off Lynn, two were driven in by Hernandez, who did not have a hit until the eighth.
In the fourth, Hernandez gave the Marlins a 2-1 lead on a sacrifice fly to right field. Lynn put himself in a jam by hitting Austin Kearns and Coghlan with pitches to open the inning.
With one out, Hernandez lifted a fly ball deep enough to score Kearns without a play.
Hernandez got his hit, and another RBI, in the eighth when he drove in a run off Cardinals' reliever Mitchell Boggs, who is expected to fill in for an injured Jason Motte at closer.
St. Louis struck quickly, posting a run in the first inning.
St. Louis scored three batters into the game on Matt Holliday's RBI double. Descalso, who singled up the middle to open the game, raced home from first on Holliday's drive to left-center.
The Marlins tied it at one in the second, when Coghlan singled and scored on Hernandez's RBI groundout to second.
The defense of Adeiny Hechavarria saved a run for Miami in the top of the fourth. With Molina on second, Adams ripped a hard grounder that the Marlins' shortstop snared while sliding up the middle. His throw to first recorded the out, and Eovaldi retired Ty Wigginton on a grounder to third to get out of the inning.
Up next: Jacob Turner will be making a case to remain in the rotation Sunday afternoon when the Marlins travel to Kissimmee to face the Astros at 1:05 p.m. ET, available on MLB.TV. Turner is in the mix for the fifth starter spot. Making the trip will be Giancarlo Stanton, Juan Pierre and Justin Ruggiano.