Brock Boeser and Jake Virtanen also scored for the Canucks (29-32-9).
Pavel Buchnevich responded with a power-play goal for the Rangers (28-29-13).
Vancouver goalie Jacob Markstrom stopped 21 shots
Henrik Lundqvist had 24 saves for New York but was held back from collecting his 450th career win.
It was a tough night overall for the Rangers, who became the first team this season to lose two players to misconducts in a single game after left-wingers Chris Kreider and Brendan Lemieux were both ejected in the second period.
Star rookie Elias Pettersson left the ice with a bloodied face after taking an elbow from Kreider along the end boards 4:23 into the second period.
Pettersson returned to the Canucks’ bench near the end of the period and Kreider was handed a five-minute major and a game misconduct.
Vancouver capitalized on the man advantage with Josh Leivo flipping a backhanded pass to Boeser at the face-off dot.
The right-winger dropped to his knee and unleashed a rocket, sailing the puck over Lundqvist’s shoulder.
Nine seconds after the power play ended, Motte collected a cross-ice pass from Vancouver defenceman Alex Edler and faked right on the Rangers’ netminder before popping the puck into the left side of the net around Lundqvist’s skate.
The 24-year-old centre added another goal 11 seconds later, marking the first multi-goal game of his NHL career. He now has 16 points in 68 games this season.
Vancouver’s Antoine Roussel was injured on the play, colliding with Lemieux in front of the net. The feisty Canucks left-winger crumpled to the ice, grabbing his leg in pain and had to be helped off the ice. He did not return to the game.
Lemieux was given a game misconduct for the play.
Some sloppy penalties threatened to turn the game midway through the third period, with the Canucks having to go five-on-three for a minute and 33 seconds.
But Vancouver’s penalty-kill unit managed to hold the Rangers off, allowing just a single shot. A stick save from Markstrom steered the puck out of harm’s way and into New York’s end.
The Rangers finally capitalized on the man advantage 10:28 into the final frame after Edler was called for interference.
Mika Zibanejad sliced a pass to Buchnevich down low and the right-winger put a snap shot in past Markstrom to put New York on the board.
Virtanen added an empty-net goal for Vancouver with 25 seconds to go in the game.
The Canucks will be back in action on Friday, hosting the New Jersey Devils.
The Rangers are off to Calgary where they’ll battle the Flames on Friday.
NOTES: Chris Tanev returned to the Canucks lineup on Wednesday. The 29-year-old defenceman missed 11 games with an ankle injury after he went down in a game against the Anaheim Ducks on Feb. 13. … Canucks left-winger Loui Eriksson was a healthy scratch for the first time this season. He has 22 points over 69 games. … Virtanen played his 200th NHL game.