William Carrier put away a pair of goals for the Golden Knights (15-4-1) while Mark Stone scored and contributed a helper. Reilly Smith also found the back of the net for Vegas, and Jack Eichel and Alec Martinez each had two assists.
Monday marked the seventh time this season the Canucks have given up a multi-goal lead in a loss.
The visitors held a 2-1 advantage heading into the third period, where the offence erupted for both sides.
Pietrangelo put away the game winner 14:14 into the final frame, collecting a puck from Stone and sending a backhanded shot past Demko from the low slow.
Another goal was disallowed after Stone sent a puck through Demko's pads 10:08 into the period. Vancouver challenged, arguing the puck went out of play and after video review, officials agreed, saying it hit the lens of a camera in the corner before popping back out onto the ice.
There were no questions when Smith shovelled a puck into the Vancouver net 8:57 into the frame to tie the game at 4-4.
Carrier made it 4-3 with his second goal of the night 6:54 into the third, sending in a rebound from the top of the crease for his sixth of the season.
Thirty-three seconds earlier, Vancouver took a two-goal lead 6:11 into the final frame when Pettersson blasted a one-timer from the bottom of the slot. Thompson saved the initial shot but the Swedish centre crashed the net and poked the rebound in past the netminder.
Schenn fired a wrist shot from the boards 5:35 into the third and the puck ricocheted in off Golden Knights' defenceman Nicolas Hauge to give the home side a 3-2 lead.
Horvat drew the Canucks even 1:47 into the frame with a wrist shot from the hash marks. The Vancouver captain has 15 goals on the season, the second most in the NHL behind Connor McDavid (16).
Two goals in quick succession put the Golden Knights ahead midway through the second.
Stone redirected an Eichel shot in from the slot 14:52 into the frame before Eichel's shot bounced off Carrier, stationed in front of the net, and in past Demko 49 seconds later.
The play extended Boeser's point streak to seven games with two goals and six assists across the stretch.
Both sides went 0 for 1 on the power play.
Golden Knights forward Jonathan Marchessault played his 500th regular-season NHL game Monday. Now in his 10th season, the 31-year-old centre suited up for the Columbus Blue Jackets, Tampa Bay Lightning and Florida Panthers before Vegas selected him in the 2017 expansion draft. Vancouver defenceman Ethan Bear made his 200th regular-season appearance.
The Canucks will kick off a three-game road trip Wednesday against the Avalanche in Colorado. The Golden Knights will host the Ottawa Senators the same night.
This report by The Canadian Press was first published Nov. 21, 2022.
Gemma Karstens-Smith, The Canadian Press