St. Louis Cardinals
Mikolas signed a two-year, $15.5 million contract with the St. Louis Cardinals on December 5, 2017. He won his debut with the Cardinals 8–4 on April 2, 2018, at Miller Park against the Milwaukee Brewers. While batting, he hit a two-run home run versus Zach Davies for his first major league hit. On the mound, he completed 5+2⁄3 innings, allowing three home runs and four runs total, while striking out five and walking none.
Mikolas threw his first major league complete game, a shutout, on May 21, 2018, at Busch Stadium against the Kansas City Royals. He struck out nine, walked one, and gave up only four hits as the Cardinals defeated Kansas City 6–0. Owning a 9–3 record, a 2.63 ERA, and a 1.03 WHIP, Mikolas was named to the 2018 Major League Baseball All-Star Game, his first All-Star selection.
Mikolas finished his 2018 campaign with an 18–4 record (including a 10–0 record on the road), a league-leading .818 won-loss percentage, a 2.83 ERA (4th in the National League), 1.071 WHIP (5th), walking just 29 batters in 200+2⁄3 innings (6th), in 32 starts (9th). His 18 wins tied with Jon Lester and Max Scherzer for the NL lead. He led the majors with only 1.30 BB/9, and also led all major league pitchers in first-strike percentage (70.8%). In addition, he had the highest zone percentage of all major league pitchers, with 48.0% of his pitches being in the strike zone. On defense, he was second among NL pitchers in range factor per 9 innings (2.20), third in putouts (19), and fourth in assists (30). He came in sixth in the voting for the 2018 NL Cy Young Award.
On February 26, 2019, Mikolas and the Cardinals agreed on a four-year extension worth $68 million. He finished the 2019 regular season with a 9–14 record and a 4.16 ERA, striking out 144 over 184 innings. He was named St. Louis' Game 1 starter for the 2019 National League Division Series. He missed the entire 2020 season due to undergoing surgery to repair a flexor tendon in his right arm.
On August 20, 2021, Mikolas was activated off of the 60-day injured list after missing the past 75 games with a right forearm strain.
Mikolas threw 8+2⁄3 no-hit innings in a game on June 14, 2022, against the Pittsburgh Pirates. With two strikes in the count to the next batter, Cal Mitchell, Mikolas allowed a ground-rule double. Mikolas was named to the 2022 Major League Baseball All-Star Game after replacing Corbin Burnes.
On March 24, 2023, Mikolas agreed to a two-year, $40 million contract extension with the Cardinals. Despite a regression in his performance, Mikolas became the first pitcher to start 35 games in a season since Jhoulys Chacín in 2018. He finished the season with a 4.78 ERA and only walked 39 hitters in 201+1⁄3 innings.
Mikolas made 32 starts for St. Louis during the 2024 campaign, compiling a 10–11 record and 5.35 ERA with 122 strikeouts across 171+2⁄3 innings pitched. 2025 represented more struggles for Mikolas, who pitched to an 8–11 record and 4.84 ERA with 100 strikeouts, but he again did not miss a start, starting in 31 games and pitching 156+1⁄3 innings.