ST. LOUIS (AP) -- St. Louis rookie right-hander Joe Kelly learned a valuable lesson Friday night.
He battled back from a shaky beginning to halt a three-start losing streak as the St. Louis Cardinals rolled to a 9-3 victory over the Milwaukee Brewers.
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. The Brewers scored three runs in the second inning -- two coming on a bases-loaded single by Milwaukee pitcher Randy Wolf (3-8).
"I went to the dugout and said, `It might be one of those nights,"' Kelly said. "I was irritated."
But Kelly channeled his anger and held the Brewers scoreless over the next 3 2-3 innings and began to pick up steam as the game went along. He also came alive at the plate breaking a 3-3 tie in the fourth inning with a run-scoring single for his second RBI of the season.
Kelly picked up the second win of his career. His last triumph was an 11-4 victory at Kansas City on June 22. Kelly entered Friday's game with seven straight quality starts but took the loss in his last three games.
St. Louis manager Mike Matheny said Kelly showed the courage of a veteran by bouncing back from the most difficult start of his career. Kelly gave up hits to five of the first 10 batters he faced and didn't record his first swinging strike until his 37th pitch of the night.
But he was able to keep his team in the game until the offense got rolling.
"This was a great lesson for him," Matheny said. "He learned how to pitch when he didn't have his best stuff. He did a nice job of getting himself out of trouble."
The Brewers simply couldn't put the finishing touches on the early blitz.
"We had him right where we wanted him more than once," first baseman Corey Hart said. "You're always one hit away. But he battled and got out of it."
St. Louis catcher Yadier Molina was pleased with the way Kelly reacted to the early adversity.
"In the first couple of innings, he was everywhere with his fastball," Molina said. "After the third, he settled down and found his breaking ball."
Kelly's first-pitch RBI single to left off Wolf broke a 3-3 tie and capped a four-run outburst in the fourth inning.
St. Louis managed just two hits over the first three innings 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 runs 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.
Wolf gave up five earned runs in 5 1-3 innings. He allowed just two hits through the first three innings before giving up five hits in the four-run fourth.
"I felt good those first three innings," Wolf said. "Even the fifth inning I felt all right. But every inning counts. I've got to do a better job of stopping things when they start to unravel."
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 Barret 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 for the second straight game. Maldonado had three.
NOTES: St. Louis OF Matt Holliday, who had two hits, has reached by hit or walk in the last 29 games. ... Thomas James, a volunteer statistician for the Cardinals for two decades, passed away earlier in the week. The team announced before the game that his seat in the press box will remain empty the rest of the season in his honor. .... Aoki has a six-game hitting streak. ...Furcal returned to the starting lineup after missing five games with a sore lower back. ...The Brewers outscored Houston 31-12 in sweeping their previous three-game series.