Glenn Hubbard's blooped two-run single to center with two out in the seventh gave host Atlanta the victory and extended Cincinnati's losing streak to six.
The Braves began their winning rally against Mario Soto (7-5) with two out when Rafael Ramirez doubled to the gap in left field. Soto then walked pinch hitter Larry Whisenton and Claudell Washington to load the bases for Hubbard.
Hubbard's hit made a winner of Rick Mahler (8-6), who allowed six hits in seven innings. Reliever Gene Garber got his 14th save.
Cincinnati got both its runs in the first inning. Consecutive singles by Eddie Milner, Duane Walker and Dave Concepcion scored one run, and the second scored as Dan Driessen hit into a double play.
Washington singled in the first for Atlanta, took second on Hubbard's sacrifice, stole third and scored on Terry Harper's sacrifice fly.
The Braves tied it at 2 in the fourth when Harper walked, stole second and scored on Chris Chambliss' single.
Soto had won four games in a row, but left in the seventh with six strikeouts, bringing his major-league-leading total to 141.
It was Atlanta's fourth straight victory, its 20th in the last 29 games.