The first two goals came just under thirty seconds apart, the third came with just over five minutes remaining in the opening stanza.
The Jets never recovered and saw their four-game winning streak snapped.
Nate Schmidt had a goal and an assist while forward Adam Gaudette had a pair of assists for the Canucks, who won for the first time in their last four contests.
Elias Pettersson scored into an empty net late in the third.
Braden Holtby picked up the win for Vancouver (9-14-2), making 27 saves. Connor Hellebuyck made 14 saves for Winnipeg, who dropped to 13-7-1 .
Vancouver got on the board early with a pair of goals 28 seconds apart.
Nate Schmidt scored 8:28 into the contest when his slapshot was redirected by Jets winger Andrew Copp's stick in the high slot.
J.T. Miller scored at 8:46 when he moved the puck back to the point and hustled to the high slot, redirecting a Nate Schmidt wrister past Hellebuyck from the upper hash mark to give the Canucks a 2-0 lead.
The goal was his 5th of the season.
Nils Hoglander scored on the power play at 14:50 after getting his stick on a Tyler Myers shot to make it 3-0 at 14:50.
Myers got the puck to Adam Gaudette along the side boards before he got the return pass and fired a wrister at the net which Hoglander got his stick on.
The goal was his 4th of the season.
There was no scoring in the second period.
Elias Pettersson added an empty netter with 3:33 remaining in regulation to seal the win for the Canucks.
The teams meet again tomorrow night in Winnipeg.
SHOTS-VANCOUVER 19 WINNIPEG 27