Lance Lynn kept his cool when St. Louis made three errors in the first inning, and the Cardinals' lineup rewarded the veteran for his composure.
Lynn pitched six effective innings, and St. Louis used a pair of homers to beat the sliding Milwaukee Brewers 5-3 on Saturday night.
"When you look up and you threw five or six pitches and there's three errors on the board and there's two runs, that's not exactly what you game planned for to start the game," Lynn said. "That's all that happened and we ended up winning, so it was a good night for us."
Matt Adams and Oscar Taveras each hit a two-run homer as St. Louis won for the seventh time in eight games to open a four-game lead in the NL Central. Trevor Rosenthal got three outs for his 43rd save in 48 chances.
Milwaukee right-hander Kyle Lohse (12-9) lasted just four innings. He allowed five runs and four hits with two walks.
Adams connected in the first for his 14th homer. Taveras went deep in the fourth for his third of the year, lifting the Cardinals to a 5-2 lead.
St. Louis finished with just four hits and its defensive trouble in the first led to a pair of unearned runs.
Adams booted a leadoff grounder to first, allowing Scooter Gennett to reach. Left fielder Matt Holliday made two errors on one play, with Gennett scoring on Braun's single and Gerardo Parra coming home on the fielding circus.
Lynn (15-8) allowed an earned run and five hits while improving to 4-0 with a 2.45 ERA in his last six starts. He struck out six and walked four.
Lynn has won at least 15 games in three consecutive seasons. Manager Mike Matheny said the right-hander would let miscues upset him and affect his pitching in past years, but he just figures out how to get out of trouble now.
"It's amazing because his stuff would look so good in years past, but all of a sudden he'd let his emotions get the best of him," Matheny said.
Since starting the season 20-8, the Brewers are 54-60. Six of their seven hits Saturday night were doubles, but Milwaukee went 2 for 12 with runners in scoring position.
Sixteen of the Cardinals' final 20 games are against teams with losing records.
Lohse struck out five and walked two while falling to 1-4 with a 7.01 ERA in his last six starts. "I just haven't pitched the way I normally do," Lohse said. "I pitch off my fastball and mix in the other stuff. And I haven't been able to locate as well. Just get back to work tomorrow and fix it."
Braun tried to score on a sacrifice fly in the first inning and was called safe by Jerry Meals on a close play. Matheny challenged the call and it was ruled a double play when the replay showed catcher Yadier Molina putting the tag on Braun.
Milwaukee's Rickie Weeks doubled with two outs in the ninth for his 1,000th career hit and received a standing ovation. He is the 12th player in Brewers history to get 1,000 hits with the franchise.
During their 1-10 slump, Brewers starters have a 6.59 ERA (42 earned runs in 57 1-3 innings). The team has averaged only 2.5 runs per game in that span.
Cardinals: Adams was slow to get up after diving for a foul ball in the fourth inning, but nodded to the Cardinals' dugout that he was OK and stayed in the game.
Brewers: OF Carlos Gomez (left wrist sprain) could return to the starting lineup as soon as Monday, but the Brewers will monitor him closely before deciding, manager Ron Roenicke said.
Cardinals: Adam Wainwright (16-9) has a 5.50 ERA (11 earned runs in 18 innings) over his last three starts, and will face the Brewers in the finale of the four-game series.
Brewers: Jimmy Nelson (2-6) is 0-4 in his last five starts. In his only start against the Cardinals this year, he allowed eight runs in just 4 1-3 innings in St. Louis' 10-2 win on July 12.
Link to box score: St. Louis (78-64) 5 at Milwaukee (74-68) 3
Join the pre-game, in-game and post-game discussion about each contest at The Cardinal Nation message board.