Tom Preissing Peter Schaefer and Wade Redden also scored for the Senators who are now 5-0-1 since centre Jason Spezza was knocked out of the lineup with a knee injury. Mike Comrie, who was acquired in a trade with the Phoenix Coyotes earlier in the day, had two assists as Ottawa played in front of a sellout crowd of 19,777 at Scotiabank Place.
Paul Gaustad Maxim Afinogenov and Jason Pominville scored for the Sabres. Gaustad's goal came at 4:55 of the third period, ending Ray Emery's bid at a third shutout in his past five games.
It was the fourth time this season the Senators (22-18-2) have beaten the Sabres (29-8-3). Buffalo lost for just the eighth time in regulation.
The Sabres outshot the Senators 19-7 in the scoreless first period but were unable to get anything past Emery. It was a different story in the second period, as the Senators scored four times to take control of the game and outshot the Sabres 17-8.
Heatley scored the first of his three goals while the Senators were short-handed after winning a battle for the puck against Sabres defenceman Brian Campbell. The puck bounced up as the two players battled, and Heatley hit it out of midair and over the shoulder of Sabres netminder Ryan Miller.
Heatley scored his next goal at even strength when he converted a rebound just moments after Senators defenceman Wade Redden was stoned point-blank in front of Miller.
Heatley fed Preissing in front of the net on a power play for the Senators third goal, he completed the hat trick a with a power-play goal of his own. After Redden hit the post with a point shot, Heatley put the rebound into the Buffalo goal.
Schaefer responded with a breakaway goal less than two minutes after Gaustad ended Emery's shutout bid.
Redden and Afinogenov traded power play goals late in the game, and Pominville closed out the scoring in the final minute.
Notes: Sabres defenceman Henrik Tallinder left late in the second period with an injury to his right leg and didn't return. . . . The Senators continue their season-long five-game homestand Saturday when they host the New Jersey Devils. The Sabres next play Friday when they host Sidney Crosby and the Pittsburgh Penguins.