Martin Brodeur got his 615th career win despite leaving after the first period because of a bruised right leg. Brodeur stopped all 11 shots he faced before he was replaced for the second by Johan Hedberg, who made 14 saves over the final two periods.
Kovalchuk was awarded his second goal of the game at 18:39 of the third when he was hooked on a shot at an empty net that hit the right post. Travis Zajac, who scored in the second, got his second assist of the game on the play.
P.K. Subban got his sixth goal 6:32 into the second, moments after Zajac made it 3-0, to spoil the combined shutout effort.
Carey Price made 26 saves for Montreal, which had won three straight coming out of the All-Star break, including a 2-0 win over the New York Rangers on Saturday.
Zubrus opened the scoring on an unassisted effort 1:12 in. The former Canadiens forward jumped on a turnover by Montreal defenseman Hal Gill behind the net and came out front to beat Price for his 10th goal.
Kovalchuk deflected Colin White's point shot in midair, redirecting it past Price for his 16th goal at 4:04.
Brodeur flexed his right leg at the Devils' bench during a stoppage in play with 5:45 left in the opening period moments after stopping a shot by Jaroslav Spacek.
He finished the period but did not return for the second.
Zajac made it a three-goal lead with his ninth goal 3:16 into the middle period.
Subban drew Montreal within 3-1 when he was credited with his sixth after his shot struck Kovalchuk's stick on its way past Hedberg at 6:32.
NOTES: Brodeur watched the third period from general manager Lou Lamoriello's box. ... Canadiens D James Wisniewski missed his second straight game because of illness.