John Klingberg and Alexander Wennberg each had a goal and an assist, and Alex Nedeljkovic made 28 saves for the Sharks (14-13-3), who had lost three of four (1-3-0).
Jordan Staal scored for the Hurricanes (17-9-2), who had won three of their past four. Pyotr Kochetkov, who missed the previous eight games with a lower-body injury, made 18 saves.
Collin Graf gave San Jose a 1-0 lead 33 seconds into the first period. Celebrini wrapped a pass around Carolina defenseman Sean Walker at the top of the circles to Graf, who redirected the puck into an open net at the right post.
Staal’s power-play goal tied it 1-1 at 13:18, a net-front tip of Shayne Gostisbehere’s shot.
Klingberg put the Sharks back ahead 2-1 at 7:54 of the second period after Celebrini set him up for a snap shot from the right hash marks.
Wennberg scored on the power play to extend it to 3-1 at 15:14. Kochetkov stopped William Eklund’s one-timer from the slot, but Wennberg scored on the rebound in the right circle.
Celebrini then scored an empty-net goal with 1:20 remaining in the third period for the 4-1 final.