Isaiah George scored his first NHL goal, and Ilya Sorokin made 26 saves for the Islanders (13-14-7), who had lost two in a row and three of their past four games. Anthony Duclair, who missed 28 games because of a lower-body injury sustained on Oct. 19, had an assist in his return.
William Nylander scored twice, and Joseph Woll made 28 saves for the Maple Leafs (21-11-2), who had won three in a row and five of six.
Toronto was without Auston Matthews, who did not play because of an upper-body injury following a 6-3 win against the Buffalo Sabres on Friday. Matthews missed nine games with a related injury in November. The Maple Leafs are 42-22-2 all time without Matthews since he entered the League in 2016-17.
Maxim Tsyplakov put the Islanders up 1-0 at 1:49 of the first period when he one-touched a pass in the slot from Horvat, who was behind the net, past Woll's blocker.
Horvat made it 2-0 at 4:48 after he carried the puck into the zone on a 2-on-1 with Simon Holmstrom and scored blocker side from the right face-off dot.
Nylander cut it to 2-1 at 12:29 when he skated from just inside the blue line and backhanded a shot over Sorokin's glove from just outside the left hashmarks. He extended his goal streak to three games.
Jean-Gabriel Pageau extended it to 3-1 at 16:08, putting in a rebound after Woll made a pad save on Anders Lee.
Nylander made it 3-2 at 5:43 with his second goal of the game when he put in a backhand pass from David Kampf at the top of the goal crease while being knocked down by Ryan Pulock.
George pushed it to 4-2 at 5:23 of the third period. He took a pass from Duclair and shot glove-side from the top of the left circle.
Horvat's second goal of the game made it 5-2 at 10:36 when he deflected a shot from Noah Dobson at the side of the net.
McMann cut it to 5-3 at 13:49, taking a pass from Mitch Marner and shooting past Sorokin's blocker from just outside the left hashmarks.
Mathew Barzal scored an empty-net goal at 17:40 for the 6-3 final.