Joe Kelly took the loss giving up one run after four innings of work, but left the game prematurely. Kelly attempted to leg-out a bunt in the top of the fifth, but came up holding his hamstring at the end of the play. He exited the game with a left hamstring tightness.
The bullpen couldn't keep Milwaukee down after Kelly left the game.
Seth Maness gave up three runs -- two coming on a Jonathan Lucroy RBI single -- on three hits and a walk in the fifth inning.
Milwaukee tacked on another run in the eighth when Lyle Overbay drew a bases loaded walk from Keith Butler.
The Brewers starting pitcher Wily Peralta shut down the Cardinals bats limiting them to one run in 6 1/3 innings for his second win of the season.
Allen Craig provided the only run support for St. Louis pitching. Craig hit his first home run of the season in the sixth to bring the Cardinals back within three of Milwaukee. The solo blast was his lone hit of the day; his batting average is now at .154 through 15 games.
St. Louis (9-6) won the series taking two of three games from Milwaukee, and climbed back within two games of the Brewers in the National League Central standings.
The Cardinals continue their 11-game road trip with a series in Washington beginning Thursday.