Antoine Vermette and Chris Phillips also scored for the Senators, who have two come-from-behind wins over the Sabres in the past four days.
Maxime Afinogenov had the lone goal for the Sabres who lost four just the third time in regulation this season.
Three third period goals were the difference as the Senators dominated the Sabres over the final two periods. Trailing 11-9 in shots after 20 minutes, the Senators held a 32-13 edge over the final two periods.
Ryan Miller, playing his first game after missing five with a muscle strain, made 37 saves and was named the game's third star in front of 19,770 fans at Scotiabank Place.
Heatley broke a 1-1 tie 1:22 into the third period with the Senators second power play of the game. They finished 2-for-9 with the man advantage, while the Sabres went 0-5.
Vermette gave the Senators a 3-1 lead at 14:50 and Phillips closed out the scoring as he took a pass from Heatley after stepping out of the penalty box and beat Miller high on a breakaway with just under three minutes to play.
It looked as the first period was going to end in a 0-0 tie, but with four seconds left Vermette won a faceoff against Chris Drury, but he swatted the puck with his glove into the slot where Afinogenov fired one-timer past Emery just as time expired.
The only goal of the second period came on the power play as Schaefer popped a rebound over Miller's shoulder at 5:11.
Notes: The Sabres called up Michael Funk and sent Mike Card back to the Rochester Americans of the AHL following Friday night's game against the Pittsburgh Penguins. Funk had missed two games with a groin injury before returning to the Amerks lineup Friday ... The Senators return to action Monday night when the host the Minnesota Wild.