Mikolas won his fourth straight start, Matt Carpenter hit his NL-leading 36th homer and the Cardinals beat the Giants 9-2 to complete a three-game sweep and remain on track for the NL's second wild card.
St. Louis (87-69) has won three straight games and six of seven. The Cardinals remained 1 1/2 games ahead of Colorado (85-70) and two games behind Milwaukee, the wild card leader. St. Louis hosts the Brewers (89-67) in a three-game series starting Monday night.
"We feel pretty good," Mikolas said. "We feel strong. We feel like we're a team that's real dangerous and a team that's going to come out and give a lot of people trouble."
Mikolas (17-4) allowed two runs -- one earned -- and two hits in seven innings with eight strikeouts and no walks. John Brebbia and Giovanny Gallegos, who made his Cardinals debut, finished a five-hitter.
"I had some good sink of my fastball so I tried to use that a lot," said Mikolas, tied with Washington's Max Scherzer and Chicago's Jon Lester for the NL lead in wins. "Just pound the zone. They took some swings early so I was able to get some quick outs."
Mikolas has made 11 starts of at least seven innings and the two hits he gave up were a season low.
"He works ahead in the count so that creates doubt," Cardinals manager Mike Shildt said. "He can pretty much throw any pitch he wants at any time in the count. He throws inner half, which sets up the outer half, which disrupts the balance of the hitter and he can change speed which disrupts the timing of the hitter. That combination is what pitching is."
Andrew Suarez (7-12) gave up two runs and six hits in five innings as San Francisco gave him three runs or less of run support during his time in the game for the 21st time this season. The Giants finished 31-50 on the road for a two-year record of 57-105 away from home.
San Francisco has lost 10 straight road games against NL Central teams since winning at the Chicago Cubs on May 27.
"It's a tough lineup," Giants manager Bruce Bochy said of the Cardinals. "They've got power, speed, good athletes."
The bottom two in the Cardinals batting order built a 2-0 lead with two-out singles, by Yairo Munoz in the second and Mikolas in the fourth.
Harrison Bader bunted in a run to spark a five-run sixth that includes RBI singles by Munoz and Paul DeJong around Jose Martinez's two-run double. Carpenter hit a two-run homer off Casey Kelly in the eighth.
"Everybody contributed," Carpenter said. "Guys finding a way to score even when we've got some guys that aren't getting it done. It's the making of a good team."
Brandon Crawford's two-run homer in the seventh stopped an 0-for-9 skid.
"I've faced him a few times back in 2012 but other than that I haven't seen him for years," Crawford said of Mikolas. "I was just looking for something up that I can put in play and try and just get the bat on and fortunately saw the curve ball enough to put the barrel on it."
Cardinals: 2B Kolten Wong missed his second consecutive start after leaving Friday's game in the seventh inning with cramps in both hamstrings.
INF Edmundo Sosa was recalled from Triple-A Memphis. Sosa made his debut when he walked as a pinch-hitter in the eighth, and he scored on Carpenter's home run.
Giants: LHP Derek Holland (7-8, 3.57 ERA) starts the first of a three-game series at home against San Diego and RHP Bryan Mitchell (1-4, 6.16 ERA) on Monday night. Holland will make his first start since July 18, which was also against the Padres, where he allowed four runs in five innings.
Cardinals: RHP Jack Flaherty (8-8, 3.08 ERA) kicks off a three-game home series Monday night against Milwaukee and RHP Chase Anderson (9-8, 3.93 ERA). Flaherty is 1-1 with a 2.35 ERA in four career starts against the Brewers.
More AP MLB: https://apnews.com/tag/MLB and https://twitter.com/AP-Sports
Sale remains winless as Tigers beat Red Sox in DH opener
Chris Sale remained winless after five starts but managed not to take a loss for the first time this year, allowing two runs over five innings as the Boston Red Sox lost to the Detroit Tigers 7-4 in a doubleheader opener Tuesday.
Bogaerts bashes homer in the 6th
Xander Bogaerts knots the game at 3 with a solo home run to left, his 3rd of the season.
Reds put Kemp on injured list with broken rib
Reds outfielder Matt Kemp, who has five RBIs in 20 games this season, suffered a broken rib after crashing into the outfield wall and has been placed on the injured list.
Greiner, Rodriguez clear the Monster in Tigers' win
Grayson Greiner and Ronny Rodriguez smash home runs over the Green Monster, as the Tigers take Game 1 of their doubleheader in Boston.
Snell to return Wednesday from fractured toe
Rays pitcher Blake Snell is scheduled to return Wednesday from a fractured toe and start against the Royals.
Ramirez a free agent after short Indians stint
Slugger Hanley Ramirez has chosen to become a free agent following a short stint with the Indians.