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. X-rays were negative.
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: Miami travels to Port St. Lucie on Thursday to take on the Mets at Tradition Field at 1:10 p.m. ET. The game can be seen live on MLB.TV. Ricky Nolasco is scheduled to make his second Grapefruit League start. Projected to be the Opening Day starter, Nolasco tossed two scoreless innings in his debut, a win over the Mets. Matt Harvey is slated to start for New York. Chris Coghlan is expected to start in center field for the Marlins.
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.