ST. LOUIS – Miles Mikolas was pitching in Japan a year ago. Now he's one of the top pitchers in the majors.
Mikolas pitched a four-hitter for his first career shutout and Tyler O'Neill homered for the third straight game and drove in four runs, leading the St. Louis Cardinals to a 6-0 victory over the Kansas City Royals on Monday night.
Mikolas needed just 109 pitches to remain unbeaten and struck out a career-high nine. The Cardinals won for the third time in four games and beat the Royals for the fifth straight time.
"Night like tonight, I was feeling good and on top of that we made some great plays on defense, tracking balls down in the outfield, getting dirty on the infield," Mikolas said. "Everything just kind of came together for a great game."
Mikolas (6-0) retired 13 of the final 14 batters he faced. The only trouble he faced came after he allowed back-to-back singles to start the third, but got out of it with the help of a double play.
"I thought he did a nice job of getting his breaking ball going maybe the second time through the lineup," Cardinals manager Mike Matheny said. "He showed it a time or two the first time through, but didn't rely on it heavy and then you saw late in the game obviously he used it heavily."
Mikolas faced just three batters over the minimum, lowering his ERA to 2.24 putting him in the top five in the National League. His ninth-inning walk was the first free pass he had issued in 29 1/3 innings at Busch Stadium this season.
"I love pitching here," Mikolas said. "I love the mound. I'm really confident in this home stadium. I know it can be a bit of a pitcher's park at times."
Mikolas made an impression on the Royals' hitters.
"Obviously for a lot of guys it was the first time seeing him," centerfielder Jon Jay said. "He had good stuff and pitched a complete game. You tip your cap to what he was able to do tonight."
O'Neill's three-run homer, his first career to the opposite field, capped a four-run third in which the Cardinals strung together five two-out hits. O'Neill's double in the fifth scored Marcell Ozuna, giving the Cardinals a 5-0 lead.
"I was looking for something I could get my arms extended," O'Neill said of the home run. "A pitch up in the zone I could do some damage with. Two outs, I knew I just couldn't hit a fly ball, I had to drive something and I did the job."
Ozuna proceeded O'Neill's blast with an RBI single, breaking a 0-for-22 slump. Ozuna reached three times and had a pair of hits.
Matt Carpenter homered in the seventh as part of a three-hit night. Carpenter is hitting .542 (13 for 24) in his last six games, including seven doubles, to raise his average to .210. It is the first time since April 7 that Carpenter's average rose north of .200.
Royals starter Ian Kennedy (1-5) gave up five runs, all with two outs, in 5 2/3 innings. He has lost his last five decisions and hasn't gotten a win since April 7.
The Royals have lost eight of their last nine.
"I feel like we've given up some big innings as starters," Kennedy said. "This all starts with us. When we were throwing the ball well, we were keeping us in ballgames and giving our team a way better chance to win."
Royals: RHP Justin Grimm (lower back stiffness) is on a rehab assignment at Triple-A Omaha.
Cardinals: SS Greg Garcia left the game in the sixth with lower back tightness and is day-to-day and RHP Carlos Martinez (right lat strain) threw long toss for the first time.
Cardinals RHP Luke Weaver (3-3, 4.37 ERA) will look to build on his strongest outing of the season when he takes the mound against the Royals and Jason Hammel (0-5, 6.28 ERA) in the second game of the three-game series. Weaver allowed one run in a season-high seven innings in a 6-2 loss to Philadelphia on Thursday. Hammel, winless in his last 13 starts, is seeking his first victory since Sept. 6, 2017.