Fisher, Spezza and Comrie scored in the first period to help the Senators reach 100 points for the fourth straight season, and sixth time in the past eight.
Fisher, who assisted on Comrie's goal, added his second of the game in the third before Heatley scored into an empty net.
Comrie assisted on both of Fisher's goals and linemate Peter Schaefer had two assists in the first.
"(Comrie) was making plays and I thought the last few games he was skating really well and seeing the ice and creating things," Fisher said. "I was the recipient of a couple of nice plays and Schaefer's obviously good along the walls and smart. I thought we controlled it down low."
Montreal ended a five-game winning streak and fell to eighth in the Eastern Conference with 86 points. The Canadiens, who host Buffalo on Saturday and have four games remaining, are one point ahead of ninth-place Toronto, which has played one less game.
Mark Streit scored 2:43 into the third to draw Montreal within 3-2, and then came close to tying it moments later but was denied on a sensational save by Ray Emery, who appeared in his 100th regular-season game.
"It was pretty much the game right there," Streit said. "I tried to whack it in and I don't know what happened after, but that was the turning point in the game. I really should have buried that."
Sheldon Souray scored his 18th power-play goal of the season in the first, tying Hall of Famer Denis Potvin and Adrian Aucoin for the NHL single-season record by a defenseman.
"I'll talk about that (Saturday), that doesn't matter right now," said Souray, who had stitches in his lip from being cut by a high stick that earned Heatley a double minor 14:29 into the second.
Canadiens fans were a significant presence among the sellout crowd of 20,185 at Scotiabank Place -- about a two-hour drive from Montreal.
"That was exciting," Fisher said. "They were fighting for their lives and it made for a fun matchup. It was kind of playofflike, with five games left."
Jaroslav Halak, who made his sixth straight start for the Canadiens, caught a bad break that led to the opening goal after he played the puck behind his net.
The 21-year-old Slovak rookie's pass got past Canadiens defenseman Mathieu Dandenault and went to Comrie, who passed it back to Peter Schaefer. Fisher received Schaefer's centering pass in the slot and beat Halak with a shot inside the right post.
Spezza made it 2-0 at 6:29 with a slap shot over Halak's left shoulder.
Souray drew Montreal within 2-1 at 11:00 when he put a slap shot from the right point past Emery for his 25th goal.
It was his 18th goal with the man advantage, tying the record for power-play goals by a defenseman set by Potvin in 1974-75 and matched by Aucoin with Vancouver in 1998-99.
The Canadiens had a 5-on-3 advantage for a full two minutes when Ottawa's Chris Neil was given a slashing penalty at 18:56 after Chris Kelly had already been called for holding.
Alexei Kovalev, coming off a pair of two-goal games, hit the post early in the second and failed to convert another chance moments later on the same two-man advantage.
Montreal, which has the league's top-ranked power play, finished 1-for-6 with the man advantage.
"Before the game, we said we wanted to stay out of the box as much as we could and maybe we took a few more penalties than we wanted to, but I think we did a good job, all-in-all, especially on the 5-on-3," Emery said.
Ottawa had a potential fourth goal waved off when referee Dan Maroueli blew a quick whistle before Heatley jammed home a rebound off Halak's outstretched right pad.
Streit cut Ottawa's lead to 3-2 with his 10th goal 2:43 into the third, and came close to tying it moments later when he pushed a shot toward an open net from the goal mouth before Emery dropped his right pad to stop the puck just in front of the goal line.
- It was Souray's first power-play goal since March 16.
- Emery has 58 career wins, 26 losses and nine non-regulation losses overall in regular-season play.
- Senators C Dean McAmmond played his 800th regular-season game. McAmmond began his career with Chicago in 1991-92 and has also played for Edmonton, Philadelphia, Calgary, Colorado and St. Louis.