Matthew Tkachuk added a goal and two assists, Gustav Forsling, Ryan Lomberg and Sam Bennett also scored and Spencer Knight made 31 saves.
''We've got off to pretty good leads in the last few weeks but I thought we did a great job of not just holding on to it, but building off it (tonight),'' Tkachuk said.
''Everybody stepped up. It's awesome when three lines can be able to contribute. Well, everybody contributed but three different lines scoring after the first just really set up our night.''
Dakota Joshua scored for Vancouver.
''How we can play so good in one week and then so bad the next week, it's pretty mind boggling,'' Canucks coach Bruce Boudreau said.
Vancouver also lost starting goalie Thatcher Demko to a lower-body injury. The 26-year-old American stopped 15 of 18 shots in the first period before leaving.
''Any time you lose your starter like that - I mean he could barely put weight on his leg - obviously we're concerned about him,'' Canucks captain Bo Horvat said.
Spencer Martin made 13 saves in relief.
A smattering of boos emanated from the crowd at Rogers Arena during the final seconds of the game. The jeers grew louder following the final whistle.
The Canucks held a pregame ceremony to honor three former players who were recently inducted into the Hockey Hall of Fame. Former goalie Roberto Luongo and forwards Daniel and Henrik Sedin all stood at center ice, watching video highlights from their careers before taking part in a ceremonial puck drop.
Panthers: At Seattle on Saturday night.
Canucks: Host Arizona on Saturday night.
AP NHL: https://apnews.com/hub/nhl and https://twitter.com/AP-Sports
Copyright 2023 STATS LLC and Associated Press. Any commercial use or distribution without the express written consent of STATS LLC and Associated Press is strictly prohibited.