Lyle Overbay had a career-high five hits, including a three-run homer, and Brady Clark added four hits for the Brewers. Davis pitched a five-hitter and blooped a fifth-inning single for only his fourth hit in 102 career at-bats.
"There is not an easy out out there -- even Doug Davis," Overbay joked. "Those things are definitely contagious."
Overbay has a nine-game hitting streak and is 9-for-11 with three home runs since he took 12 stitches Tuesday to close a cut on his chin. Overbay, who homered twice Friday, had a three-run homer in the seventh inning off Joe Valentine. He has 17 hits in his last 34 at-bats and is batting .355.
"He's hot right now," Davis said. "And you get that guy hot, watch out."
Milwaukee, which entered with a .231 batting average, 15th among the 16 NL teams, had its most runs and hits (19) since June 27, 2003, at Minnesota.
The Brewers swept a series for the first time since July and are on their longest winning streak since taking five in a row June 26-July 1, 2004. Cincinnati, which has lost eight of 10, was swept in Milwaukee for the first time since Miller Park's opening series in April 2001.
"Right now we're not hitting, we're not pitching," Reds outfielder Adam Dunn said. "I guess it's definitely a team deal right now."
Davis (3-3), who had lost three straight starts, struck out eight and walked one in his fifth complete game, the first since Aug. 26, 2003, at Cincinnati. He changed his delivery following his previous outing, with coaches telling him to cut down on his lower-body rotation.
"This was huge for him," Brewers manager Ned Yost said. "That picks us up big-time."
Still, Davis said he valued the hit more than the complete game. Yost came to the mound with two outs in the ninth and was booed. Fans then cheered when he left Davis in the game.
Rich Aurilia grounded to shortstop for the final out.
"A complete-game shutout would have been better [than the hit]," Davis said.
Ramon Ortiz (0-1), activated from the disabled list before the game, gave up six runs and seven hits in two innings. He had been sidelined since April 17 with a strained right groin.
"We made a couple bad pitches, they hit it. We made good pitches, they hit," Ortiz said. "You are going to have trouble in a game like that."
Ken Griffey Jr. had a first-inning double and scored on a single by Sean Casey.
Geoff Jenkins hit a two-run homer in the bottom half, a 440-foot drive to center, and Milwaukee went ahead 6-1 in the third. Bill Hall had an RBI double and Carlos Lee, who had been in a 1-for-23 slide, had a run-scoring single. Damian Miller was hit by a pitch with the bases loaded, Matt Belisle relieved and forced in a run with a walk to Russell Branyan.
Hall homered in the fourth, but pinch-hitter Wily Mo Pena cut it to 7-2 with a fifth-inning homer, Cincinnati's first hit since the first.
Overbay had Milwaukee's first five-hit game since Jenkins on April 11, 2003, at Arizona. ... Davis was in an 0-for-31 slump that dated to July 30. He was 1-for-64 last year with 43 strikeouts. ... Brewers second baseman Junior Spivey was sent home before the game after vomiting. Hall started in his place. ... The Reds optioned right-hander Todd Coffey to Triple-A Louisville to open a roster spot for Ortiz.