Elias Pettersson scored twice and Quinn Hughes added two assists as the Vancouver Canucks edged the visiting San Jose Sharks 4-3 on Monday night.
Brock Boeser and Kiefer Sherwood also scored for the Canucks, who snapped a three-game skid (0-1-2) and won for the second time in six outings (2-2-2).
Thatcher Demko made 26 saves to improve to 12-0-0 against the Sharks in his career.
William Eklund, Cody Ceci and Luke Kunin tallied for San Jose, which has lost five straight (0-4-1). Rookie Macklin Celebrini, a Vancouver native, picked up two assists in the loss.
Yaroslav Askarov stopped 21 shots while opposing the Canucks for the first time.
Eklund opened the scoring on a two-man advantage, one-timing a Mikael Granlund feed blocker-side past Demko at 11:36 of the first period.
Eklund, who took a big hit from Canucks defenseman Tyler Meyers just prior to scoring, completed the first period but did not return to the game following the first intermission.
Boeser tied it 1-1, tipping Hughes' pass past Askarov at 14:10 of the first. Boeser has three goals over his last two games.
The Canucks scored three times in a 70-second span during the second period to open a 3-1 lead.
Vancouver took its first lead of the game at 16:42 as Sherwood snapped a shot blocker-side past Askarov.
Pettersson put home the rebound off Jake DeBrusk's shot at 17:08. The goal snapped a six-game point drought for Pettersson.
Then, on a two-man advantage, Pettersson ripped a shot from the faceoff dot glove-side past Askarov at 17:52. Hughes picked up the secondary assist, giving him five points (one goal, four assists) in his past two games.
Pettersson played just one shift in the third period.
Ceci's point shot deflected off Canucks defenseman Noah Juulsen and past Demko at 4:21 of the third, cutting Vancouver's lead in half.
San Jose pulled to one with six seconds remaining in the third as Kunin put home the rebound of Celebrini's shot.
Vancouver improved to 2-0-0 against San Jose this season.