Atlanta has been missing opportunities against weaker competition, going 2-4 on a homestand against Baltimore, the AL's worst team, and Cincinnati, the NL's third-worst.
The Reds took advantage of another shaky outing by reliever Sam Freeman (2-4), scoring three runs in the seventh inning for a 6-5 lead on Scooter Gennett's RBI single and Duvall's single. Freeman allowed two hits, three runs in two-thirds of an inning and dropped to 1-3 with an 8.16 ERA in his past 15 appearances.
The Braves had gone 2 for 20 with runners in scoring position in the past two games, but four runners scored from second base in the fourth on singles by Kurt Suzuki, Charlie Culberson, Johan Camargo and Dansby Swanson. They went 0 for 5 the rest of the way.
Jackson Stephens (2-0) struck out two in 1 2/3 innings to earn the win. Iglesias earned a save for the second straight day and has converted his past six chances.
Braves starter Sean Newcomb allowed seven hits, three runs and two walks with six strikeouts in six innings. He has a 2.13 ERA in his past six home starts.
Cincinnati starter Luis Castillo retired the first 14 batters he faced before making 11 pitches to walk Freddie Freeman in the fourth. He gave up six hits, one walk and five runs — four earned — with four strikeouts in four innings.
Castillo was chased in the fifth. After Castillo left, Peraza misplayed a bases-loaded grounder that allowed a run to score and would've ended the inning.
The Reds made it 4-3 in the fifth when Peraza tripled and scored on Brandon Dixon's single. Cincinnati led 2-0 on Billy Hamilton's RBI single in the second and Peraza's homer, his third, in the third.
Get some rest
Braves 2B Ozzie Albies got the day off. The NL doubles leader is batting .459 in an eight-game hitting streak.
Suzuki, a catcher, showed some smart base running skills in the fourth. As he slid into the plate, Curt Casali dove to tag him out, but Suzuki lifted his left hand over Casali's arm and touched the plate on his back.
Reds 1B Joey Votto was ejected in the first inning for arguing a called third strike. It was the eighth of his career and the first since Sept. 9, 2015. Dixon took Votto's place and went 1 for 2.
RHP Anthony DeSclafini (3-1, 4.09 ERA) will try to win his fourth straight start when Cincinnati opens a four-game home series Thursday against Milwaukee. RHP Junior Guerra will start for the Brewers.