VANCOUVER -- Jacob Markstrom made 35 saves as the Vancouver Canucks downed the Toronto Maple Leafs 2-1 on Saturday.
Markus Granlund and Alexander Edler scored for Vancouver (13-10-4).
James van Riemsdyk replied for Toronto (17-10-1), which got 24 saves from Frederik Andersen.
The Leafs entered play with a 9-2-1 record over their last 12, and were coming off consecutive victories in Edmonton and Calgary to open a three-game road trip through Western Canada.
Vancouver, which just wrapped up a six-game road trip with a 3-2-1 mark, honoured Daniel Sedin prior to the opening faceoff after the veteran winger recorded the 1,000th point of his NHL career in Thursday's 5-3 victory over Nashville.
Leading 2-0 after 40 minutes on goals from Granlund and Edler in the first period, the Canucks were under siege to start the third, with Connor Brown coming close a couple of times as Toronto pinned Vancouver deep in the opening stages.
Despite getting outshot 21-5 since the first, the Canucks had a great chance seven minutes into the third when Andersen stretched to rob Loui Eriksson with his pad to keep the Leafs within shouting distance.
Toronto continued to press, with defenceman Morgan Rielly completely whiffing on an open net with three minutes to go before van Riemsdyk tipped home his 13th of the season with 2:52 to play to get the visitors within one.
But the Canucks survived a frantic finish that included the puck just rolling off the stick of Auston Matthews in the dying seconds.
The Canucks opened the scoring at 4:52 of the first when Granlund ripped his fourth of the campaign, and first point in seven games, on a shot past the stick of Leafs defenceman Nikita Zaitsev that Andersen, the NHL's second star of the month for November, could only wave at after Matthews failed to clear puck out of Toronto's end.
With an electric atmosphere inside Rogers Arena for the Leafs' only visit there this season, Vancouver then went ahead by two at 11:14 after a dominant shift by the Sedin twins where the Canucks controlled the puck for 28 seconds in the offensive zone on a delayed penalty. Henrik Sedin eventually found Edler with a pass from the right corner, and the defenceman made no mistake by ripping his first of the year shortside on Andersen.
After stopping James van Riemsdyk early in the period from in close, Markstrom made his best save of the opening period with about five minutes to go when he got across to stop Matthews twice at the side of the net.
Outshot 17-11 in the first, the Leafs had the first 10 of the second period as they pressed to get back in the game.
William Nylander blasted an effort on the power play that Markstrom got a piece of before the puck hit the crossbar and stayed out before the Vancouver goalie also thwarted Nazem Kadri moments later from the slot.
Vancouver's first shot of the period came with just over eight minutes left when Brock Boeser -- the league's rookie of the month for November -- jumped on a turnover and fired a one timer that Andersen did well to keep out.
Notes: Daniel Sedin is the 87th player in NHL history to reach the 1,000-point milestone, joining twin brother Henrik Sedin, who accomplished the feat last season. Canucks forward Derek Dorsett, who announced an end to his playing career Thursday because of spinal problems, was on the ice before the game to hand Daniel Sedin the silver puck to commemorate the milestone. ... Leafs centre Tyler Bozak missed with the game with an illness. ... Vancouver hosts Carolina on Tuesday, while Toronto welcomes Calgary on Wednesday.