The Braves won for the 15th time in 16 games, snapping a 4-4 tie with a big inning that made a winner out of starter Mike Minor.
Atlanta sent eight men to the plate in the seventh with Joey Terdoslavich leading off by drawing a walk.
Terdoslavich went to third on a single by Jason Heyward and scored on a sacrifice fly by B.J. Upton. Freddie Freeman was then walked intentionally, Evan Gattis drove in a run with a double and Johnson contributed another double that put the Braves in front 8-4.
The loss went to Dan Jennings (1-3), who allowed two of the four runs in the seventh.
Minor (12-5) gave up four runs on six hits in seven innings. He struck out six and walked one while winning his third straight start.
Miami lost for the seventh time in eight games.