Jean-Gabriel Pageau scored twice - once on a power play and then shorthanded late into an empty net. Aatu Raty, Anders Lee and Casey Cizikas also had goals for the Islanders. Barzal has scored in four straight games.
''He's skating, he's making the right decision and he's shooting the puck more,'' Pageau said. ''He's got a great shot. When he's playing with confidence like that, he's a player that can make a difference. He's a key player for us and we're lucky to have him.''
Ilya Sorokin stopped 24 shots in his 14th win.
The Canucks got a pair of goals from Bo Horvat as they dropped their third game in a row. Vancouver's captain is tied with Alex Ovechkin for third in the NHL with 28 goals.
''We want to make the playoffs and we want to be in contention and obviously I'm trying to do whatever I can to help make that happen,'' Horvat said. ''But at the end of the day, it's not good enough.''
Defensive mistakes have plagued the Canucks all season, and this marked the 16th time in 37 games that they've given up at least five goals.
Spencer Martin made 23 saves for Vancouver.
Boos rained down as the final horn sounded and the Canucks fell to 7-10-1 at home.
''It's kind of been a similar story for too long now,'' defenseman Tyler Myers said. ''We talk about our consistency - we had a really good first period and then we came off the gas a bit to start the second. We've got to find a way.''
Cizikas made it 5-2 with his third goal of the season 9:44 into the third period, sending a wrist shot over Martin's glove from the faceoff dot.
Islanders rookie Parker Wotherspoon, who grew up a Canucks fan in British Columbia, assisted on the play for his first NHL point.
New York regained a two-goal cushion 1:46 into the third after Vancouver's Ethan Bear turned over the puck deep in the Canucks zone.
Brock Nelson picked it up, spun to keep it on his stick and then sent it to Lee, who put a wrist shot past Martin to make it 4-2 with his 14th goal of the season.
Vancouver cut its deficit to one late in the second with a power-play goal after Matt Martin was called for hooking.
Seconds into the man advantage, J.T. Miller sent a pass to Horvat in the slot and he fired a shot past Sorokin to make it 3-2 with his 28th goal.
Another ugly giveaway quickly turned into an Islanders goal earlier in the second.
Myers coughed up the puck in the corner and Barzal took advantage, sailing a shot into the top corner to make it 3-1 at the 16:28 mark.
Barzal has 10 goals this season and five in his last four games.
Pageau gave New York the lead with a power-play goal 12:56 into the second after Myers was sent to the box for slashing.
''It's like as soon as something bad happens to this team, the adversity, we cannot handle it. And it seems like, `Oh, here we go.' And then that's it,'' Canucks coach Bruce Boudreau said. ''As long as we've got the lead, we're fine. But when we get behind, it's not a good thing. It just seems like the wind goes out of everybody's sails.''
Barzal, from the Vancouver suburb of Coquitlam, has hit the scoresheet in all 10 career matchups against his hometown team, amassing 12 points (two goals, 10 assists).
Canucks defenseman Luke Schenn played in his 900th regular-season NHL game.
Islanders: Continue a four-game trip Thursday at Edmonton.
Canucks: Host the defending Stanley Cup champion Colorado Avalanche on Thursday.
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.