Ryan Braun hit a go-ahead grand slam off Junior Fernandez with two outs in the ninth inning, and the Brewers beat the St. Louis Cardinals 7-6 Sunday to keep up their playoff push by winning for the ninth time in 10 games.
Milwaukee remained one game behind the Chicago Cubs for the second NL wild card and closed within three games of the NL Central-leading Cardinals.
With the Cardinals ahead 4-3, Jon Gant (10-1) walked Ben Gamel and Travis Shaw starting the ninth, struck out Trent Grisham and walked Yasmani Grandal.
Tyler Webb retired Mike Moustakas on a flyout not deep enough to score a run, Fernandez relieved and Braun drove a hanging slider to left-center for his seventh career slam and a 7-4 lead.
Tommy Edman hit a two-run homer with one out in the bottom of the ninth off Josh Hader, who struck out Harrison Bader and pinch-hitter Tyler O'Neill for his 33rd save in 39 chances.
Bader hit solo homers in the third and seventh innings totaling 909 feet, giving him 10 homers this season.
Matt Albers (7-5) got two outs for the win, and Gant lost for the first time in exactly one year.
Cory Spangenberg hit a two-run homer off Ryan Helsley in the seventh, but Paul DeJong had a two-run homer against Ray Black in the bottom half for a 3-2 lead, a drive that curled just inside the left-field foul pole.
Milwaukee starter Chase Anderson allowed one run and one hit over in four innings.
Cardinals starter Michael Wacha gave up five hits in five scoreless innings and is 0-3 in eight starts and two relief appearances since beating Cincinnati on July 19.
Dakota Hudson (15-7, 3.38) faces Washington RHP Stephen Strasburg (17-6, 3.49) on Monday. Hudson had a career-best five-game winning streak ended with a 2-1 loss to Colorado on Wednesday.