Will Smith had a goal and two assists, John Klingberg had a goal and assist, and Sam Dickinson had two assists for the Sharks (27-21-3), who have won consecutive games after alternating wins and losses the previous seven. Yaroslav Askarov made 23 saves for his first win in four starts for San Jose, which improved to 7-3-0 in its past 10 games.
Tom Willander and Filip Hronek scored, and Elias Pettersson and Jake DeBrusk each had two assists for the Canucks (17-31-5), who have lost three in a row since ending an 11-game skid, and are 1-12-2 in their past 15. Kevin Lankinen allowed three goals on six shots before being replaced at 5:55 of the first period by Nikita Tolopilo, who made 25 saves in relief.
Willander gave Vancouver a 1-0 lead at 1:15 of the first period with the teams playing 4-on-4, scoring with a high glove shot from the top of the face-off circles past a screened Askarov.
Celebrini tied it 1-1 just 36 seconds later at 1:51 with the teams still at 4-on-4, one-timing a pass from Smith along the left boards against the grain and past the blocker of Lankinen from the top of the right face-off circle.
Adam Gaudette put San Jose ahead 2-1 at 4:43 with a one-timer high over Lankinen’s blocker. Celebrini intercepted a Hronek clearing attempt at the blue line and passed to William Eklund at the right hash mark for a quick, short pass to Gaudette at the left hash mark.
Tyler Toffoli extended it to 3-1 at 5:55 on another one-timer from the left hash mark, finishing a pass from Alexander Wennberg at the goal line with a shot between Lankinen’s pads.
Tolopilo, called up from Abbotsford of the American Hockey League on Saturday, then replaced Lankinen. He made several quality saves before Smith’s power-play goal pushed it 4-0 at 9:07 with a wrist shot short side from the left face-off dot over Tolopilo’s right shoulder.
Vancouver failed to convert a 5-on-3 for 1:56 with 3:25 left in the second period before the Sharks got a two-man advantage of their own late in the period to make it 5-1. Klingberg scored 28 seconds into the third period with a screened shot from between the top of the circles.
Hronek scored on the power play at 9:15 to cut it to 5-2 on a screened slap shot from the top of the right circle, ending an 0-for-12 stretch for Vancouver with the man-advantage over the past six games.