Brandon Saad had a goal and an assist, and Duncan Keith, Dominik Kahun and Alex DeBrincat also scored as Chicago jumped out to a 5-0 lead before holding on for the win. Dylan Strome added two assists for the Blackhawks, who have won four straight and crept within four points of the Arizona Coyotes for the second wild card in the Western Conference.
Corey Crawford stopped 17 of 18 shots through two periods before leaving the game due to illness. Colin Delia had 26 saves — all in the third.
Auston Matthews, Morgan Rielly and Andreas Johnsson each had a goal and an assist for Toronto, and John Tavares also scored. William Nylander and Mitch Marner each had two assists. Frederik Andersen gave up four goals on 14 shots in the first before he was replaced by Garret Sparks, who finished with 24 saves.
Sam Gagner, Alex Chiasson and Matt Benning had goals for the Oilers, who have lost two of their last three games. Mikko Koskinen gave up four goals on 18 shots before he was replaced midway through the third. Anthony Stolarz came on and finished with 15 saves on 17 shots.
Zajac showed some deft hands in front as he tied the score 2-2 with 19 seconds left in the first period.
The Devils then scored the first three goals of the second to take control of the game.
CANUCKS 4, RANGERS 1
Brock Boeser and Jake Virtanen also scored for the Canucks, and Jacob Markstrom stopped 21 shots.
Pavel Buchnevich had a power-play goal for the Rangers. Henrik Lundqvist finished with 24 saves as he was denied his 450th win.
New York became the first team this season to lose two players to misconducts in a game after forwards Chris Kreider and Brendan Lemieux were both ejected in the second period.