Scooter Gennett also homered for Milwaukee, which won at Great American Ball Park for only the second time in seven games this season.
The Reds lost for only the fifth time in their last 17 games, a surge that has tightened the NL Central race. They came in a season-high 18 games over .500.
Davis connected in the sixth off Homer Bailey and again in the eighth off Alfredo Simon (5-4), who had a rough inning. He also gave up Gennett's solo homer, which was upheld on review. Gennett also singled and doubled and scored twice.
Rob Wooten (2-0) hit a batter during his one inning in relief. Zack Cozart singled home a run in the eighth off Brandon Kintzler. Jim Henderson gave up a hit in the ninth while getting his 20th save in 23 chances, leaving him with 14 straight scoreless appearances.
The Brewers played their first game since Ryan Braun acknowledged in a statement that he used performance-enhancing drugs while recovering from an injury in 2011, when he won the National League MVP award. Players called it a good first step for Braun, who is serving a 65-game suspension from Major League Baseball.
Davis rejoined the Brewers when Braun was suspended, his third stint of the season. He's hit all eight of his homers in the 23 games since, including the two-run shot that put Milwaukee ahead 3-2 in the sixth. His next homer snapped a 3-all tie.
Bailey repeatedly went deep in the count to batters and retired the side in order only once during his six innings.
Norichika Aoki singled home a run in the third. Aramis Ramirez doubled ahead of Davis' homer to left-center field in the sixth off Bailey, who is 2-7 career against Milwaukee.
The Reds got a pair of runs in the fourth off Yovani Gallardo with the help of an error. Brandon Phillips singled, Ryan Ludwick walked, and both runners scored when Cozart singled to center and Carlos Gomez bobbled the ball. Gomez hadn't played since last Thursday when he ran into the outfield wall, hurting his right knee.
Phillips led off the sixth inning with his 16th homer, which cleared the wall in center and tied it at 3. Gallardo also went six innings, giving up six hits and two earned runs.
NOTES: OF Caleb Gindl joined the Brewers for the start of the series, replacing utility player Sean Halton, who was optioned to Triple-A Nashville on Wednesday. ... Gennett extended his hitting streak to seven games. ... Aoki reached in all five plate appearances
-- twice on singles, twice on errors and once on a walk. ... Reds RH reliever Jonathan Broxton had surgery as planned on Friday to repair a tear in his right forearm. The estimated recovery time is six months. ... The Reds will top 2 million in attendance this weekend, the fastest in Great American Ball Park's 11 seasons. ... RHP Bronson Arroyo (12-9) tries to win his third straight decision on Saturday, facing Milwaukee RHP Wily Peralta (8-13). Arroyo hasn't walked a batter in 22 2-3 innings.