ST. LOUIS -- Rookie right-hander Joe Kelly broke a three-start losing streak and drove in the go-ahead run to help the St. Louis Cardinals to a 9-3 victory over the Milwaukee Brewers on Friday night.
St. Louis has won three of its last four while Milwaukee had a three-game winning streak snapped.
Kelly (2-4) allowed three earned runs and 10 hits over 5 2/3 innings. His last win was an 11-4 victory at Kansas City on June 22. He entered the game with seven straight quality starts but took the loss in his last three games.
His first-pitch RBI single to left off Randy Wolf (3-8) broke a 3-3 tie and capped a four-run outburst in the fourth inning.
St. Louis managed just two hits in the first three innings off Wolf but scored four runs on five hits in the fourth. David Freese ripped a two-run single to bring his team within 3-2. Daniel Descalso, who added an RBI single in the eighth, followed with a run-scoring double to tie the game. Shane Robinson walked before Kelly singled for his second RBI of the season.
Milwaukee scored three times in the second to take a 3-0 lead. Wolf drove in two runs with a bases-loaded single. Norichika Aoki followed with a run-scoring hit.
St. Louis, which scored nine straight runs, capitalized on two errors in the sixth to push the lead to 6-3. Yadier Molina, who singled to start the inning, stole third and came around to score when catcher Martin Maldonado threw wildly to third.
Corey Hart, who had not made in error in his first 51 starts at first base, booted a grounder by Rafael Furcal to allow Robinson to score.
Relievers Barett Browning, Edward Mujica, Mitchell Boggs and Marc Rzepczynski followed Kelly and kept the Brewers scoreless.
Molina had three hits to push his average to .315. He stole two bases, giving him a career-high 10 for the season.
Ryan Braun, who leads the NL with 29 homers, had three hits including two doubles.
The Brewers tied a season high with four errors. Maldonado had three.