MILWAUKEE -- Rickie Weeks found redemption for his late mental error with his bat.
It made up for Weeks' fielding gaffe in the top half of the inning, when he allowed Juan Castro to go home from second base on a routine sacrifice bunt to give the Reds a 5-4 lead.
"That just shows you what kind of team we have," Weeks said. "Redemption or not, you have got to come up there with the situation on the line and try to deliver."
It was the Brewers' ninth walk-off victory of the season, and 16th win in their last at-bat.
"Believe me, we don't want to be in this situation, but sometimes it just happens," Weeks said. "We have to go out there and try to put our best foot forward and try to squeak those wins out."
Geremi Gonzalez (2-0) earned the victory for Milwaukee.
Jason Standridge (1-1) took the loss for the Reds, who have lost five straight and dropped to three games over .500 for the first time since April 19.
"It was a great game, especially if you're a Brewer fan," Reds manager Jerry Narron said. "Both clubs battled back, both clubs showed a lot of heart, and they just had the last at-bat."
The Brewers loaded the bases with no outs against Standridge on two singles and a walk before Weeks hit a long line drive to center field.
"Our guys keep coming," Brewers manager Ned Yost said. "They just keep coming. The situation doesn't really phase them."
Castro led off the 13th with a pop fly down the right field line, but Weeks couldn't get there in time and the ball dropped in for a ground-rule double.
Rich Aurilia put down a sacrifice bunt, and Prince Fielder picked up the ball and threw to Weeks at first. Castro didn't stop at third as expected, rounding the base and scoring just ahead of the throw to break a 4-4 tie.
Weeks has struggled in the field this season, committing 20 errors in his first 52 games, but had been improving of late.
"I wasn't sure that the umpire saw I had the ball still in my glove, so I kind of showed it to him," Weeks said. "And sure enough as soon as I turned around the guy was rounding third."
The Brewers took advantage of two earlier game-saving efforts by Geoff Jenkins, who made a run-saving catch in the ninth and hit his first home run since May 20 to answer Adam Dunn's home run in the 10th.
The Reds took a 4-3 lead in the top of the 10th when Dunn hit a two-out homer off Brewers closer Derrick Turnbow. But Jenkins snapped a career-worst 142 at-bat homerless streak in the bottom of the inning, tying the game at 4.
Earlier, Jenkins prevented the Reds from taking the lead with a diving catch of a line drive by Javier Valentin with runners on first and second and one out in the ninth.
But Milwaukee squandered a chance to win in the bottom of the ninth when Bill Hall hit into a double play with two on and one out.
"We had opportunities throughout the game to score some runs, but we just couldn't push that one big run across until it really counted," Yost said.
The Reds originally tied the game in the sixth, when Kearns tripled off the left-field wall to score Scott Hatteberg.
- Weeks' game-winning hit originally was ruled a ground-rule double, but later was changed to a single because he never touched second base.
- Brewers right-hander Ben Sheets is scheduled to begin a minor league injury rehabilitation stint with a start for the Milwaukee Brewers' Triple-A affiliate on Sunday. Sheets, has missed most of this season with tendinitis in his shoulder.
- The Reds optioned Wednesday's starter, Elizardo Ramirez, to Single-A Dayton, and may call up Edwin Encarnacion.
- The Brewers designated catcher Chad Moeller for assignment and optioned right-hander Carlos Villanueva to Triple-A Nashville. Left-hander Dana Eveland will be recalled from Nashville and the contract of catcher Mike Rivera will be purchased from Nashville.
- Wednesday's attendance was 19,651.