Chapman (2-0) got out of a bases-loaded jam in the eighth using 101 mph fastballs and pitched around a two-out single in the ninth. Francisco Cordero pitched a perfect 10th for his fourth save in as many chances.
"I'm real glad that I'm here, that I get to see it, I get to enjoy it. I get to see Chapman warming up," Cordero said. "He's a special boy. And you see it, there's nobody in the history of the big leagues that throws that hard. That really is amazing."
Stubbs has been a big help, too, now that he's off to a stronger start than last year. He hit a sinker from Sergio Mitre (0-1) over the center-field wall to put the Reds ahead for good.
|More on Reds at Brewers|
Cincinnati previously squandered leads of 4-0 and 6-4.
"He's an impact player. You can see he can win a game with a homer," Reds manager Dusty Baker said. "It's a big win for us. We got to go home."
Milwaukee's middle of the order -- Braun, Fielder and Casey McGehee -- finished a combined 0 for 12. Braun and McGehee both had 11-game hitting streaks end.
"He was throwing strikes -- quality strikes -- getting quality hitters out," Baker said. "You're not in a hurry to face Prince. You're not in a hurry, certainly with the bases loaded, in Ryan Braun and their clutch man over there, McGehee. They've got some guys that can hit and hit in the clutch."
The Reds improved to 5-1 this season against Milwaukee and will have an off-day Thursday before starting a six-game homestand. After hitting .184 over a seven-game stretch coming into Milwaukee, the Reds managed 29 hits.
"After coming away with a series loss to the Cardinals, it's a big bounce back for us to complete the road trip at .500," Stubbs said. "Any time you can win divisional series against opponents it's a huge plus and hopefully we can carry that momentum into the next series."
The Brewers squandered an opportunity in the eighth.
Jonathan Lucroy walked with one out and pinch-hitter Craig Counsell followed with a single off Logan Ondrusek. Chapman entered and hit Rickie Weeks with a 98-mph fastball to load the bases, but struck out Carlos Gomez and forced Braun to weakly ground out on a 101-mph offering.
"If he can do that, that's wonderful," Baker said.
Yovani Gallardo's struggles have continued since a strong start to the season.
"I got more concerned today because I didn't think he had his stuff. That's the first time I think he's gone out without good stuff," Brewers manager Ron Roenicke said. "The last three outings were good stuff but no command. Today, he didn't have command or stuff."
After throwing a two-hitter in a 1-0 win over Atlanta on April 5, Gallardo has given up at least four runs in his last four starts as his ERA has ballooned from 1.20 to 5.69.
"I feel fine," he said. "No issues. I feel 100 percent."
Gallardo gave up three straight hits to start the game and Votto hit a 3-1 fastball over the Brewers' bullpen in left-center field to make it 3-0. Paul Janish's sacrifice fly made it 4-0.
Gomez's two-run single in the third, Lucroy's fielder's choice in the fourth and a throwing error by Janish, the shortstop, allowed a run tied it.
In the sixth, both teams scored twice.
Braun set a franchise record for reaching base safely in consecutive games to start a season at 24 when he was hit by a pitch in the fifth to top Robin Yount's mark that stood 28 years.
Votto's homer pushed his own similar streak to 25 games. The two are the only players in the majors to reach base safely in each of their team's games this season.
- The Brewers had someone spend the night with INF/OF Erick Almonte (concussion) as a precaution.
- Reds RHP Johnny Cueto (right arm irritation) threw 4 2-3 scoreless innings at Triple-A Louisville in his third rehab start.
- Votto is nine short of the franchise record of 34 straight games reaching base to begin a season set by Dave Collins.
- The Brewers said they've sold more than 2 million tickets already this year. Attendance is expected to be close to 3 million.