Ronny Cedeno, Matt Adams, and Rob Johnson added solo shots to round out scoring for the Cardinals. Adams' homer landed on the terrace of the Cardinals' complex, well behind the fence and some 20 feet above the ground.
That was more than enough for Jake Westbrook and the Redbirds' bullpen, which allowed a run in six innings with six strikeouts. Westbrook allowed a run on four hits -- and the sinker-baller induced only one groundball -- but overall was solid.
Miami starter Tom Koehler lasted 2 1/3 innings, surrendering four runs on seven hits and two walks. Kevin Slowey turned in a solid effort, allowing two hits over 2 2/3 shutout innings with two strikeouts.
Donovan Solano was 2-for-3 with an RBI for the Marlins, while Austin Barnes added a pinch-hit home run in the seventh. Outfielder Jake Marisnick was hit in the left hand by a pitch from Trevor Rosenthal, and left the game.
St. Louis improved to 2-1 on the spring against its Roger Dean Stadium co-tenant. The two clubs have five more games against each other this spring. The Cardinals are 5-5-1 overall in Grapefruit League play, while the Marlins are 4-4-2.
Up next: Joe Kelly continues his quest for the Cards' No. 5 starter job when he takes the mound against the Yankees at Roger Dean Stadium. First pitch is slated for 12:05 p.m. CT, and the game can be heard live on Gameday Audio. Marc Rzepczynski is scheduled to return to action after missing a few days due to bicep discomfort, and David Freese may return to the lineup after sitting out Wednesday's game with pain in his tailbone. Ivan Nova is scheduled to start for New York.
Matthew Leach is a writer for MLB.com. Read his blog, Obviously, You're Not a Golfer and follow him on Twitter at @MatthewHLeach. This story was not subject to the approval of Major League Baseball or its clubs.