ST. LOUIS -- Yasmani Grandal is making the most out of his consistent playing time.
Milwaukee moved four games behind St. Louis for the National League Central lead. The Brewers remained one game behind the Chicago Cubs for the second wild card spot. The Cubs, who beat Pittsburgh, cut the Cardinals' division lead to three games.
"It's two weeks left of intense baseball," Brewers manager Craig Counsell said. "Wins are really valuable."
Only one of the two runs Brewers starter Jordan Lyles allowed was earned. He gave up six hits and struck out four over six innings.
"The curveball wasn't doing anything special today," Lyles said. "We had to use all four pitches and (Grandal) did a nice job of noticing that and he kept putting down the right numbers."
The Brewers won their eighth game out of their last nine and improved to 8-1 when Lyles (11-8) starts this season.
"He's executing pitches," Counsell said. "There might be one mistake it doesn't detract him ever, a ball in the middle, he keeps making pitches and the stuff works."
Grandal walked and scored on a fielder's choice groundout by Eric Thames to give the Brewers a 3-2 lead in the sixth.
Grandal drove a Tyler Webb changeup 424 feet into the left-centerfield seats in the eighth to make it 5-2. Grandal's 27th home run of the year tied his career high and his 73 RBI is a career high for a season.
"Knowing I'd be in the lineup whether it's a lefty or a righty is huge," Grandal said. "Being able to game-plan for those days, whether it's a righty or a lefty and just being able to make adjustments throughout the year. Seeing what's working, seeing what's not working, how my swing is working, how they are pitching to me. In the past I just couldn't quite do that."
Grandal's 10 homers from the right-side of the plate have helped fuel his surge. He had just 16 career home runs from the right side before this season.
"He's carried us offensively in a lot of way in a good part of this stretch," Counsell said.
Moustakas' two-run home run in the fourth inning tied the game 2-2, snapping a 22-inning scoreless streak by Cardinals starter Jack Flaherty. It also broke a 32-inning scoreless streak for Cardinals starters at home spanning six games.
"He's just been big in the middle of the lineup," Counsell said of Moustakas. "He's had some huge games, some huge home runs, lots of big hits."
Flaherty (10-8) needed 102 pitches to get through six innings. He gave up three runs on five hits and a pair of walks as St. Louis had its two-game winning streak snapped.
Flaherty matched a season-high 10 strikeouts and became the first Cardinals pitcher with more than 200 strikeouts in a season since Carlos Martinez (217 in 2017). Flaherty is the 19th different pitcher to reach 200 strikeouts this season which is the most in the Modern Era.
"I'd rather win," Flaherty said when asked about the strikeout total.
Tommy Edman's solo homer started a two-run Cardinals rally in the second. Harrison Bader followed with a single, moved to second on a Flaherty sacrifice and scored on a Yasmani Grandal throwing error while he was stealing third.
"He just did a good job of kind of changing his approach throughout the game," Edman said of Lyles. "He was going with more of the fastballs earlier and really went to that off speed stuff the second time through the lineup and kept us off balance."
Brewers second baseman Keston Hiura made his first appearance since Aug. 30, when he left in the fifth inning with a strained left hamstring. Hiura struck out in a pinch hitting appearance in the ninth.
Brewers: RHP Brandon Woodruff (left oblique strain) threw a 25-pitch bullpen in what the team hopes is a final tune-up before being activated from the Injured List. C Manny Pina (concussion) is almost ready to resume catching activities soon.
Brewers: RHP Chase Anderson (6-4, 4.57 ERA) gets the start in the finale of the three-game series against St. Louis on Sunday. He is 1-1 with a 2.67 ERA in six career starts at Busch Stadium.
Cardinals: RHP Michael Wacha (6-7, 4.97 ERA) will seek to pick up his first win since July 19. He was held Milwaukee to two or less runs in each of his last five starts against them.
More AP MLB: https://apnews.com/MLB and https://twitter.com/AP-Sports
Trout on 3rd MVP: 'I always try to be the best player'
Mike Trout joins SVP after winning the American League MVP award and says it was special to be recognized as the league's best player for the third time.
Bellinger: Winning MVP 'means everything'
Cody Bellinger joins SportsCenter after being announced as the National League MVP and describes how special the award is to him and his family.
Angels' Mike Trout edges Astros' Alex Bregman for AL MVP
Angels center fielder Mike Trout became just the 11th player with at least three MVP awards when he was named the American League's MVP on Thursday. Trout edged Astros third baseman Alex Bregman for the award.
Cody Bellinger 1st Dodger to win NL MVP since Clayton Kershaw in 2014
Cody Bellinger was named the NL's Most Valuable Player on Thursday, beating out 2018 winner Christian Yelich, who finished second in voting, and third-place Anthony Rendon.
Yankees go high tech, turn to 34-year-old as new pitching coach
Drawn to his high-tech approach, the New York Yankees are turning to unproven 34-year-old Matt Blake as their new pitching coach after losing in the ALCS.
Braves boost shaky bullpen, sign ex-Giants lefty Will Smith
The Braves signed free-agent closer Will Smith to a three-year, $39 million contract on Thursday.