Mitchell drove a 2-2 curveball just over the head of Gold Glove center fielder Harrison Bader. The ball bounced on the warning track 383 feet from home plate and over the wall in straightaway center for a ground-rule double.
"The curveball had been pretty good all day, and maybe I tried to overthrow it just a little bit," Mikolas said of the hit during his postgame, on-field interview. "I left it a little bit up. The guy put a really good swing on it. That one just kept going."
The hit came on the 129th pitch from Mikolas -- most in the majors this season and 14 more than his previous career high set May 29 against the Milwaukee Brewers. He was lifted right after that for Packy Naughton, who closed out a 9-1 victory over the Pirates in the second game of a doubleheader.
"I'm in the best shape of my life, so that's no problem for me. That's what starters train all year for," Mikolas said about topping 100 pitches. "Going the distance is always the goal."
After the Mitchell double, Mikolas stood on the back of the mound and looked up to the sky as St. Louis manager Oliver Marmol walked out of the dugout to replace him. Mikolas was given a standing ovation as he exited. He walked off with his head down but looked up to the crowd as he neared the dugout steps, ultimately tipping his cap.
"Everybody in that dugout wanted it real bad for him," Marmol said of Mikolas, who has battled injuries throughout his career. "There's a lot of perseverance in that story. To see him doing what he's doing this year, it speaks volumes to his character."
Mikolas struck out six and walked one. Pittsburgh registered an unearned run in the fourth to make it 7-1 when Bryan Reynolds scored on Daniel Vogelbach's groundout. Reynolds led off the inning and reached second base when left fielder Juan Yepez misplayed a fly ball for an error. Reynolds advanced to third on a groundout.
Cardinals second baseman Nolan Gorman made a diving stop in the fourth and an off-balance throw from the middle of the diamond in the sixth to prevent would-be hits.
Mikolas worked a 1-2-3 seventh with the help of a nice catch by Bader at the center-field fence on Jack Suwinski's drive. Pittsburgh also went down in order in the eighth.
"It kinda stinks to not finish that out. I mean, I don't have one yet, and I have friends that have one. It would have been nice to join that conversation," Mikolas said of a no-hitter. "But I can't say enough about our defense. We were everywhere we had to be and making fantastic plays all game. I kinda feel like I let them down after all that defense I got."
The most recent no-hitter for the Cardinals was thrown by rookie Bud Smith in a 4-0 win over the San Diego Padres on Sept. 3, 2001. Nearly 21 years later, Mikolas was in the spotlight for a similar reason, though he didn't enjoy the silent treatment he was receiving.
"I kinda don't like it," he said. "I'm always trying to talk to people during the game. And it kinda stinks when no one wants to talk to me."
Mikolas was trying for the third no-hitter in the majors this season. Tylor Megill and four New York Mets relievers combined for one April 29 against the Philadelphia Phillies. Los Angeles Angels rookie Reid Detmers tossed one against the Tampa Bay Rays on May 10.
St. Louis won the opener of the day-night doubleheader 3-1. The Cardinals have won three straight, are 10 games over .500 (37-27) and are 2.5 games in front of the field in the National League Central.
"It's winning baseball. These guys are on all sides of it, playing really good baseball," Marmol said. "There's so many little things going on that are impressive."
Pittsburgh has lost nine straight.
The Associated Press contributed to this report.