Heyward's shot in the third inning staked the Braves to a 3-0 lead and Michael Bourn added a key run-scoring single in the seventh that increased Atlanta's advantage to 4-1.
Mike Minor (7-10) surrendered three runs on four hits over 6 2/3 frames to earn the victory, which broke a personal three-start losing streak.
The left-hander didn't allow a walk and struck out five for the National League wild card-leading Braves.
Loser San Francisco starter Madison Bumgarner (14-8) coughed up four walks and seven hits over 6 1/3 frames.
Brandon Belt drove in a run for the NL West-leading Giants.