Liover Peguero also homered, Ke'Bryan Hayes added an RBI double, and four players — Endy Rodriguez, Jack Suwinski, Ji Hwan Bae and Miguel Andujar — hit RBI singles for the Pirates (66-76), who have won eight of 11.
Pittsburgh starter Johan Oviedo pitched 3 2/3 innings, allowing three runs and nine hits.
Ryan Borucki (2-0) followed Oviedo with a scoreless inning.
Matt Olson homered and hit an RBI single, and Ronald Acuna Jr. and Ozzie Albies each added an RBI single for the Braves (92-49), who missed a chance to clinch a playoff spot, although that could still happen if Colorado beat San Francisco in a later game.
Atlanta starter Dylan Dobb (2-2), called up from Triple-A Gwinnett earlier in the day, allowed four runs and seven hits in four-plus innings.
Oviedo's second pitch was a fastball inside on Acuna. The two exchanged words, prompting both benches and bullpens to empty briefly.
In the third, Bae singled and scored on Hayes' double for a 1-0 Pittsburgh lead. Reynolds upped it to 3-0 with his 20th homer, to left center.
Acuna singled in the bottom of the third, went to third on Albies' single and later scored on Olson's single to cut it to 3-1.
The Braves tied it in the fourth. Sean Murphy reached on an infield single and went to second on Michael Harris II's single. Acuna and Albies followed with RBI singles.
Pittsburgh scored three in the fifth. Andujar doubled, chasing Dodd for Michael Tonkin. Rodriguez singled home Andujar and went to second on Peguero's groundout and later scored on Suwinski's single. Suwinski stole second and scored on Bae's single to make it 6-3.
In the sixth, Reynolds doubled, moved up on Connor Joe's groundout and scored on Andujar's single to up it to 7-3.
Olson hit his 48th homer, to right-center, in the seventh, to make it 7-4, and Peguero answered with his seventh, to left, in the ninth.
—Field Level Media