Fiers (6-4) was perfect until Zack Cozart doubled to lead off the seventh, and Brandon Phillips drove in Cincinnati's only run later in the inning.
Fiers struck out seven and walked one to win his third consecutive start and give the Brewers back-to-back wins after losing three in a row. Jim Henderson pitched the ninth for his first career save.
Aramis Ramirez gave Fiers and the Brewers an early lead with a two-run homer in the first inning. Jean Segura drove in the third Milwaukee run with a sacrifice fly in the seventh.
Cincinnati starter Johnny Cueto (14-6) lost for the first time since July 3. Cueto went seven innings, allowed three runs on six hits and struck out nine.