Marco Scandella tied the score late in the third period for the Canadiens, who have won three straight and seven of their last nine. Carey Price stopped 22 shots to improve to 8-2-0 in his last 10 games.
On the game-winner, Campbell made the initial save on Nick Suzuki, but Kovalchuk netted the rebound for his ninth goal of the season.
Kovalchuk's wife and kids, in town from California for the week, were at Bell Centre.
''It was my kid's 11th birthday yesterday and that's what he asked me,'' said Kovalchuk, a fan favorite in Montreal. ''We already gave him a PlayStation, but he said `I want you to score, that would be the best present.' I think he'll be satisfied, for sure.''
John Tavares scored early in the third for the Maple Leafs. Replacing injured starter Frederik Andersen (neck), Jack Campbell made 28 saves in his second game in two nights after being acquired from Los Angeles on Wednesday night.
The score remained 0-0 until Tavares got the breakthrough on Toronto's very first shot of the third period. The Maple Leafs captain fired a low shot, far side into traffic that found its way through bodies and past Price at 1:06 - his fourth consecutive game with a goal.
The Canadiens pressed for the tying goal, but Toronto's defense, without injured players Cody Ceci and Morgan Rielly, did well to limit Montreal's high-grade chances.
''The pace of play increased dramatically after (Toronto's) goal,'' Maple Leafs coach Sheldon Keefe said. ''They were pushing and we didn't handle it well. I didn't like how we played offensively. When we had the puck, we did all the things that we don't want to be as a team and just gave it back to them.
''We never had a chance to get going.''
Montreal -- which outshot Toronto 16-1 in the third -- finally scored with 2:33 left when Scandella's slap shot found an opening under Campbell's left pad.
''They came with a lot of momentum, some desperation,'' Tavares said. ''It's human nature to be a little safer in those circumstances. We had to find a way to get on their half of the ice more and generate some offencs and push to increase our lead.
''We had to find a way to close them out.''
The Canadiens, fighting for a playoff spot in the East, are now five points behind the Maple Leafs for third in the Atlantic Division.
''We're just taking it one day at a time,'' said Scandella, who scored his first goal in a Canadiens uniform. ''We're playing playoff hockey right now. We're playing for our lives. We just have to keep bringing it every day.''
Neither team found the back of the net in a fast-paced, back-and-forth first period where there was little room for error.
The Maple Leafs came out flying in the second - shots were 14-4 Toronto - and Price needed to be at his best to keep the game scoreless.
Justin Holl rifled a one-timer off the crossbar 40 seconds into the period and Price did well to smother the loose rebound. He later denied Mitch Marner and Zach Hyman while the Maple Leafs were on the penalty kill. Price also stopped Tavares with the pad alone in front.
NOTES: Montreal F Jonathan Drouin (wrist surgery) was back on the ice for the first time since Nov. 15. After missing 37 games, he had 11:49 of ice time. ... Canadiens captain Shea Weber remains sidelined with a lower-body injury. ... The Canadiens have won each of the first three meetings this season. The teams will concluded the four-game season series on April at Toronto. ... Montreal D Xavier Ouellet made his seaso debut and assisted on Scandella's goal.
Maple Leafs: Host Arizona on Tuesday night to open a two-game homestand.
Canadiens: Host Arizona on Monday night.
Copyright 2020 by STATS LLC and Associated Press. Any commercial use or distribution without the express written consent of STATS LLC and Associated Press is strictly prohibited.