The Reds won their fifth in a row, the second-longest current such streak in the majors behind the Los Angeles Dodgers' eight consecutive triumphs.
Cincinnati has moved within 2 1/2 games of Pittsburgh for the lead in the National League Central with St. Louis two games behind the Pirates.
Khris Davis hit a home run for the Brewers in the second inning, but Cincinnati tied it in the fifth on an RBI single from Zack Cozart. Joey Votto then produced the winning run in the sixth with his 19th homer of the year.
Cingrani (6-2) allowed four hits and walked one before giving way to Sam LeCure in the seventh.
LeCure, Manny Parra, Jonathan Broxton and Aroldis Chapman combined to give up two hits without a walk over the final 2 2/3. Chapman struck out two in the ninth after allowing a leadoff single for his 30th save.
Kyle Lohse (8-8) was the hard-luck loser, allowing one earned run on five hits in seven innings.