The Reds rallied from a four-run deficit over the final two frames, but Nick Masset could not get the Reds into extra innings.
Masset (3-2) retired the first two batters in the ninth only to have Prado single on a 1-0 pitch. Heyward then worked the count full before coming through with his extra-base hit to right.
Heyward went 3-for-5 with two doubles, a triple and two runs scored. Brian McCann hit a two-run homer in the first, helping the Braves win for the seventh time in nine games.
Cincinnati scored three times in the eighth, two of the runs coming in on a double by Scott Rolen, and Chris Heisey tied it in the ninth with his second homer of the season.
Despite giving up the tying run, closer Billy Wagner (4-0) picked up the victory.