ST. LOUIS -- Jack Flaherty got an extra day of rest and a chance to pitch against Milwaukee, and took advantage of both.
"As the season goes on, whether you are facing a team for the first time or for the third time, there's adjustments made on both sides," Flaherty said.
"Whoever I'm out there I'm pitching against, I'm pitching against."
The Cardinals won for the ninth time in 10 games and pulled within a half-game of the Brewers for the National League's second wild-card spot.
Milwaukee has dropped three of four.
Flaherty (7-6) gave up three hits, walked three and struck out seven. The Brewers had only two runners reach second base against the rookie, who has allowed two earned runs in his past 19 innings pitched.
Friday marked his third start against Milwaukee this year and fourth in his young career. In 18 innings this season, he's allowed two earned runs in 18 innings and struck out 29.
"He pitched well," Brewers manager Craig Counsell said. "He did a nice job."
Bud Norris earned his 24th save in 28 opportunities.
Freddy Peralta (5-4) went six innings, giving up three earned runs. He allowed three hits, walked three, and struck out five. It was his third loss in his last four decisions.
Wong made a nifty play to start the eighth by charging a hopper that bounded over pitcher Jordan Hick's head. Wong snagged the ball in his glove and made a hard sidearm throw to get Keon Broxton at first. That turned out to be important because the Brewers scored twice that inning and cut the lead to 3-2.
"I always take pride in my defense and when I can make great plays like that for the pitcher, that's always huge," Wong said. "To come up clutch was a big day for me."
He capped his night with a two-run double in the eighth to pad the Cardinals' lead to 5-2.
Jedd Gyorko hit his 10th home run of the season to open the fourth. The shot to left field gave the Cardinals a 3-0 lead.
The Brewers threatened a comeback in the eighth. They loaded the bases against Hicks, and Jesus Aguilar hit a two-run single to pull the score to 3-2 with one out. But Travis Shaw fouled out to left field and Jonathan Schoop's flair to shallow center field was caught by shortstop Paul DeJong.
Cardinals 1B Matt Carpenter was issued an intentional walk in the seventh and has reached base in 35 consecutive games. It's the longest such streak in the majors.
Brewers: OF Eric Thames was removed from the game before the bottom of the third inning with a sore right knee. The right fielder collided with center fielder Lorenzo Cain while making a catch in the bottom of the first. Manager Craig Counsell said after the game that Thames is day-to-day. ... C Manny Pina was held out of Friday's game as a precaution following a collision with the Cubs' Javier Baez on Wednesday. Counsell said Pina should be available for the remainder of the weekend series, but wanted to provide another day of rest for his left shoulder that was hurt when he dove back into second against the Cubs.
Cardinals: RHP Carlos Martinez (right shoulder strain) continues his rehab assignment and was available to work out of the Double-A Springfield bullpen on Friday. The Cardinals announced earlier in the week that Martinez, typically a starter, would serve as a reliever when he returns to St. Louis. The Cardinals hope to have him back next week . IF Yairo Munoz (right wrist sprain) begins his rehabilitation assignment in Springfield on Saturday. ... RHP Michael Wacha (left oblique strain) is headed to Palm Beach, Florida to begin a rehab assignment. He went on the DL on June 21.
Cardinals: RHP Miles Mikolas (12-3, 2.85) has won five consecutive games. He went seven innings in each of his last three starts and the Cardinals have lost just one of the past eight games in which he started.
More AP baseball: https://apnews.com/tag/MLBbaseball
MLB All-Stars pick up first win over Japan
Yadier Molina and J.T. Realmuto both homered Sunday to lead the MLB All-Stars to a 7-3 win over Japan for their first win of the six-game exhibition series.
NL Central offseason preview: Can the Brewers do it again?
Milwaukee seems due for some regression, the Cubs don't figure to throw money at their problems and the Cardinals might be looking to add some star power.
Nobody's more valuable than Mike Trout, but will he be MVP?
Whether or not the Angels superstar wins his third MVP award, his impact on the game transcends any trophy.
Justin Verlander, Kate Upton announce birth of daughter
Justin Verlander and wife Kate Upton welcomed a daughter, Genevieve Upton Verlander, on Wednesday.
Red Sox broadcaster Jerry Remy says he's cancer-free
Boston Red Sox television analyst Jerry Remy tweeted Friday that he is currently cancer-free after being diagnosed with the disease again in August.
Report: Nats ownership struck down Bryce Harper-to-Astros deal at deadline
The proposed deal would have sent three minor league Astros prospects to the Nationals in exchange for Bryce Harper, The Athletic reported Saturday.