The Braves, who overcame a two-run triple by Pirates pitcher Brian Burres, are 18-8 in May.
The Pirates have lost four straight and eight of 10.
Heyward hit his 10th homer and Troy Glaus had a two-run double for Atlanta.
Braves right-hander Kris Medlen (2-1) gave up nine hits and three runs in six innings. Burres (2-3) allowed seven hits and four runs in five innings.
Following a 24-minute rain delay, Billy Wagner pitched a perfect ninth inning for his sixth save.
Javier Lopez took over for Burres after David Ross led off the sixth with a single. Lopez threw two wild pitches as Nate McLouth was attempting to bunt, sending Ross to third base. Lopez hit McLouth with a pitch.
One out later, Prado's sacrifice fly to right field allowed Ross to score for a 4-3 Atlanta lead. Prado added a two-run double in the eighth.
Heyward's homer gave Atlanta a 1-0 lead in the first. He added a double in the fifth.
Andrew McCutchen led off the third with his sixth homer - all on the road - to tie the game.
The Pirates took a 3-1 lead with three straight two-out hits in the fourth. Lastings Milledge singled to left and moved to third on Ronny Cedeno's double. Burres drove in both runners with a triple past McLouth in center field.
It was the first triple by a Pittsburgh pitcher since April 10, 2004, when Kip Wells hit the only triple of his career at Cincinnati.
The Braves tied the game in the fifth on the double by Glaus.
The Pirates continued to find a way to keep Neil Walker in the lineup. Walker, who has made three starts at third base, made his second start at second base and had two hits and a walk. It was Walker's third two-hit game since he was called up from Triple-A Indianapolis on Tuesday.
"I'm not a rocket scientist, but I can kind of figure out if a guy is swinging the bat pretty well," said manager John Russell before the game.
NOTES: Braves C Brian McCann was held out for the third straight game with a strained right quadriceps. He took batting practice and said the injury does not hamper his ability to crouch behind the plate. ... RHP Jair Jurrjens (left hamstring) threw 30 pitches in the bullpen. Manager Bobby Cox said Jurrjens will need to throw three or four more bullpen sessions and a simulated game before he begins a minor league rehabilitation assignment. ... Pirates bench coach Gary Varsho was away from the team to attend his daughter's high school graduation in Wisconsin. ... Cedeno had two hits in his return after missing one start with tightness in his lower back.