MILWAUKEE (AP) Michael Wacha is tweaking his delivery and getting results.
Harrison Bader, Matt Carpenter and Francisco Pena each hit solo drives to help St. Louis top the NL Central leaders.
Wacha (6-1) allowed just one run. He walked four and struck out three, and combined with two relievers to limit the Brewers to three hits.
''They've got a tough lineup over there. They've got a really good team,'' Wacha said of the Brewers, who had won 10 of their previous 12 games. ''It's all about execution out there on the mound. Guys were playing great defense behind me.''
Wacha improved to 6-0 over his last 10 starts with a 2.31 ERA in that span.
''He was in control all the way,'' Cardinals manager Mike Matheny said. ''He ran into a little bit of trouble late.
''He's not relying on just the fastball-changeup,'' he said. ''He has altered his mechanics to be able to make the high pitch and to get right back to being in the bottom of the zone when he wants to. It's a lot harder than it sounds.''
The Cardinals took control by scoring four times in the second inning off Zach Davies (2-5). Bader led off with a home run, Carpenter walked with the bases loaded and Jedd Gyorko wound with a two-run single when his slowly hit grounder escaped the reach of second baseman Hernan Perez.
Davies, making his second start since coming off the disabled list with a right rotator cuff injury, allowed five runs and eight hits over five innings.
''Everything hasn't felt great the last couple games starting back, but you're at the top level, you've got to find it some time,'' Davies said.
Perez got the Brewers' first hit with a soft single to center to lead off the fifth. The only other hit off Wacha was a sharp single by Eric Sogard in the seventh, the last batter the Cardinals pitcher faced.
''He had command of all his pitches tonight, hitting his spots well,'' Sogard said. ''You've just got to try and get a mistake and make the most of it.''
Milwaukee scored in the seventh on a pinch-hit double by Jonathan Villar off reliever Sam Tuivailala. Jordan Hicks finished with two perfect innings, striking out four.
The Brewers' string of errorless games ended at eight and a strange play was the culprit. Catcher Manny Pina was called for catcher's interference, allowing Marcell Ozuna to reach base leading off the third inning. Milwaukee is 12-14 when it commits an error and 23-7 when it does not.
Cardinals catcher Francisco Pena tied his career high with three hits, including a long home run off the center-field background off reliever Dan Jennings in the eighth. ''It felt great,'' Pena said. ''I'm just trying to swing at my pitch and not the pitcher's pitches, and when I do that I think I'll be real good.''
Cardinals: OF Dexter Fowler remained out of the lineup for a third straight game after being hit by a pitch on the right knee on Saturday in Pittsburgh. Fowler is hitting .157 in 43 games this season. ... RHP Carlos Martinez is scheduled for a Thursday start with Double-A Springfield and will be limited to 50-60 pitches. He was placed on the disabled list on May with a right upper back strain.
Brewers: SS Tyler Saladino sprained his left ankle on a play in the third inning and had to be helped off the field. Saladino jammed his ankle into the second-base bag as he took a throw from Perez on a force play. Saladino, who was hitting .324, is headed to the disabled list, Brewers manager Craig Counsell said. He added that SS Orlando Arcia would be a candidate to return from Triple-A Colorado Springs.
Cardinals: RHP Alex Reyes returns after missing all of last season following Tommy John surgery on his right elbow. In four rehab starts in the St. Louis minor league system, Reyes has tossed 23 scoreless innings while striking out 44 of 82 batters faced.
Brewers: RHP Junior Guerra (3-3, 2.98 ERA) will make his 10th start of the season and second against the Cardinals.
Copyright 2018 by AP. Any commercial use or distribution without the express written consent of AP is strictly prohibited.