Winning pitcher Edinson Volquez (12-3) gave up two runs -- one earned -- on six hits and struck out 10 over seven innings to lower his earned run average to an NL-best 2.29.
Dunn wound up with four RBI. Jerry Hairston Jr. was 4-for-4 with two doubles, a walk and three runs scored for Cincinnati, which has won seven of its last nine games. Edwin Encarnacion added a solo homer and Jay Bruce drove in two runs for the Reds.
Seth McClung (5-5) was charged with the loss after giving up three first-inning runs for Milwaukee. McClung went 6 1/3 innings and allowed only one hit after the first inning.
Prince Fielder was 2-for-3 with a two-run homer for the Brewers, who have lost three of their last four games.