Spencer Martin made 33 saves for his first NHL win, and Brock Boeser had a goal and two assists for the Canucks (19-19-5), who had lost three straight (0-1-2).
"It's incredibly special, and just even to get an opportunity to play and having it go well and get a win, I don't know if it's sunk in yet," Martin said. "Hopefully we just keep building off it. It's a really special day for me."
Martin is 1-0-2 with a 1.59 goals-against average and .958 save percentage in three games since being recalled from Abbotsford of the American Hockey League on Jan. 8. He was called up from the taxi squad on Jan. 15.
The 26-year-old hadn't played in the NHL since 2016-17, when he was 0-2-1 with the Colorado Avalanche.
"I think that's three outstanding games [Martin] has played for us in a row," Vancouver coach Bruce Boudreau said. "I can't be happier. He kept us in there and he got points in every game for us. I think it's the makings of a really good goalie."
Andrew Copp scored, and Connor Hellebuyck made 28 saves for the Jets (17-16-7), who have lost six in a row (0-4-2).
"We're going to have to continue to work," Winnipeg coach Dave Lowry said. "We've got a group here where we know how to win. We're not the first team that has faced this kind of situation. We just will continue to work, we'll work for our bounces, we'll work for our breaks and win a hockey game"
Miller made it 1-0 with a one-timer 10 seconds into a power play at 13:23 of the first period.
Copp tied it 1-1 at 15:32 when he batted the puck out of the air near the right post.
"I thought we did a really good job just controlling scoring chances," Martin said. "I felt like they had a lot of shots from the point, and when I did make the save, the pucks were lying around and we boxed out really well. It felt like a really controlled environment and we played an awesome game."
Miller scored twice in the second period, making it 2-1 at 5:25 and 3-1 at 12:55. He has scored eight points (four goals, four assists) during a four-game point streak.
"We have a lot of guys that step up and our best players are different players on a nightly basis, which is a great thing to have," Miller said. "But at the same time, we need to take it game by game and play like we did a little bit today."