TORONTO -- Zach Hyman scored with 1:50 to go in the third period as the Toronto Maple Leafs erased an early 3-0 deficit to defeat the Montreal Canadiens 6-3 on Saturday night.

William Nylander and Auston Matthews, with a goal and an assist each, and Tyler Ennis also scored for Toronto (37-20-4), which snapped a season-high three-game slide. Frederik Andersen stopped 32 shots and Patrick Marleau, Mitch Marner and Morgan Rielly had two assists apiece.

Hyman and Andreas Johnsson added empty netters in the final minute.

Andrew Shaw and Jeff Petry, with a goal and an assist each, and Tomas Tatar replied for Montreal (33-22-7), which had its three-game win streak halted. Carey Price made 31 saves.

The winner came after Mitch Marner took the initial shot and the rebound fell to Hyman, who scored his 12th of the season to send Scotiabank Arena into a frenzy.

Johnsson added his 17th into an empty net with 57.5 seconds left. Hyman's empty-net goal then came after he was taken down on a breakaway by Shea Weber.

Having fought back to get within a goal in the second period after falling behind 3-0 before the game was 14 minutes old, the Leafs tied the score at 6:58 of the third on a fortuitous bounce. Marleau's dump in took a crazy hop off the boards in front to Nylander, who fired his fourth into the open net with Price out of position.

Johnsson took hooking penalty with eight minutes to go in regulation, but Toronto's Kasperi Kapanen came closest to scoring when he toe-dragged a Montreal defender and rang a shot off the post to set up the late drama.

Toronto trailed 3-0 after a disastrous opening 20 minutes, but got one back early in the second on the power play. Matthews, who beat Price in overtime in the season opener back on Oct. 3, took a pass from Rielly and fooled the Montreal netminder through the five-hole for his 29th goal of the season at 2:13.

The Canadiens came close to going up 4-1 later in the period, but Andersen stopped Paul Byron and Max Domi in quick succession.

Toronto got another power play towards the end of the period and connected when Nylander fed a no-look pass down low to Marleau, who quickly fed Ennis for his eighth.

The Leafs came in having won six in a row against the Canadiens - including two overtime victories this season after sweeping their four meetings in 2017-18 to snap Montreal's 14-game winning streak over Toronto - but fell behind early.

Shaw opened the scoring at 8:07 of the first when he got two bites at a loose puck thanks to some disjointed defensive coverage in front of Andersen before burying his 13th the season, and third against the Leafs.

Toronto challenged for goalie interference, but the call on the ice stood following a quick review.

Montreal then went up 2-0 at 12:44 when Toronto's fourth line turned the puck over in the neutral zone. The Canadiens' top unit raced the other way when Petry jumped up from his blue-line position and delivered a spin-o-rama pass into the slot to Tatar, who fired his 21st shortside on Andersen.

Brendan Gallagher nearly made 3-0 moments later off another turnover - this time by Leafs blue-liner Ron Hainsey - but Andersen robbed the Montreal winger with his glove on a breakaway.

The visitors would eventually stretch their lead to three on a man advantage at 13:52 when Petry took a pass from Shaw at the top of the left face-off circle and ripped his 11th upstairs on Andersen as the Canadiens' 31st-ranked power play connected for the first time in 11 opportunities.

Notes: Matthews has 10 goals in 10 career outings against the Canadiens. ... Ennis, who broke his ankle on Dec. 22, sat out 21 games before returning to the lineup last Saturday. ... Montreal winger Jonathan Drouin took the warmup, but was a late scratch with the flu. Nicolas Deslauriers took his place. ... Toronto defenceman Jake Gardiner suited up after sitting out Friday's practice. ... Marleau played the 1,635th game of his career to move past Scott Stevens and into sole possession of eighth on the NHL's all-time list. ... The Leafs host Buffalo on Monday. ... Montreal continues a four-game road trip the same night in New Jersey.