Miami was held to just four hits, although first baseman Justin Bour went 3-for-4 with an RBI double.
Mikolas, who is from South Florida and played his college ball at Division II Nova Southeastern University, beat his hometown team, allowing three hits, one walk and one unearned run. He struck out five and lowered his ERA to 2.27.
The Cardinals, who snapped a two-game losing streak, were led on offense by Jose Martinez, who went 2-for-3 with a two-run homer.
Marlins rookie right-hander Trevor Richards (0-3), who was recalled from Triple-A New Orleans before the game, took the loss. He allowed seven hits, no walks and three runs in five innings.
He got in trouble in the first inning when he threw a low, 2-1 fastball to Martinez, who pounced for his sixth homer of the season.
Richards' counterpart, Mikolas, was cruising and had retired 14 consecutive batters when Miami scored its unearned run in the sixth.
Starlin Castro sent an opposite-field drive to right field, but the ball went off Dexter Fowler's glove as he moved toward the line. It was ruled a two-base error, and Castro scored on a two-out, opposite-field double by Bour, who sliced the ball to left-center.
Tommy Pham, who singled ahead of Martinez's homer in the first, was at it again in the bottom of the sixth. He singled, advanced to second on a Martinez hit and scored on an RBI single by former Marlins outfielder Marcell Ozuna.
St. Louis extended its lead to 4-1 on Luke Voit's pinch-hit, solo homer in the seventh. It was his first home run of the year.
Perhaps the highlight of the latter stages of this game was the major league debut of Marlins reliever Ben Meyer, a 25-year-old reliever. The rookie pitched a scoreless inning, retiring the only three batters he faced.
The Cards' Bud Norris pitched a scoreless ninth to earn his 12th save of the season.
--Field Level Media
Miami | St. Louis | |
Trevor Richards | Player | Miles Mikolas |
Loss | W/L | Win |
5.0 | IP | 7.0 |
4 | Strikeouts | 5 |
7 | Hits | 3 |
5.40 | ERA | 0.00 |
Miami | St. Louis | |
Justin Bour | Player | Jose Martinez |
3 | Hits | 2 |
1 | RBI | 2 |
0 | HR | 1 |
4 | TB | 5 |
.750 | Avg | .667 |