Celebrini, who also had a goal and two assists in a 6-5 overtime win at the Pittsburgh Penguins on Saturday, has 11 points (four goals, seven assists) over his past five games.
Barclay Goodrow had two goals and an assist, and John Klingberg and Tyler Toffoli scored for the Sharks (17-14-3), who won the first game of a three-game homestand. Yaroslav Askarov made 27 saves.
Blake Coleman, Ryan Lomberg, and Nazem Kadri scored for the Flames (13-17-4), who are 4-2-0 in their past six games. Dustin Wolf made 20 saves.
Klingberg put the Sharks up 1-0 at 1:02 of the first period. Celebrini fed a backhand pass to Klingberg at the edge of the left face-off circle, where his snap shot then deflected in off the right leg of Calgary defenseman Rasmus Andersson.
Goodrow increased the lead to 2-0 at 6:00. Vincent Iorio’s clearance down the ice was tipped by Zach Ostapchuk as it went into the offensive zone. The puck hit the end boards and slid directly to the front of the net, where Goodrow lifted it short side past Wolf.
Coleman cut the deficit to 2-1 at 11:01 with a slap shot from the right face-off circle over Askarov’s left shoulder that bounced off the back bar.
Lomberg evened it 2-2 at 14:23 with his first of the season, catching a breakout pass from Adam Klapka in stride in the neutral zone, skating into the Sharks’ defensive zone, and beating Askarov with a wrist shot from the right circle. San Jose was unable to score on a 3-on-1 just moments prior to the goal.
Goodrow scored his second of the period to give the Sharks a 3-2 lead at 19:41. Ty Dellandrea fed a pass from behind the net to Celebrini in front, where his shot squeaked through Wolf and sat in the crease. Goodrow pounced on the loose puck and tapped it over the goal line.
Celebrini made it 4-2 at 2:26 of the third period. He too a pass from Collin Graf after entering the offensive zone, spun around Flames defenseman Kevin Bahl and put a shot off Wolf’s stick that then hit off his right leg before popping into the net.
Toffoli scored at 12:53 to push the lead to 5-2. William Eklund picked up a loose puck in the left circle following a face-off win and skated behind the net. The puck came loose following his wraparound attempt and slid to Toffoli, who banked the puck in off Wolf from the goal line. The goal was Toffoli’s 300th in the NHL.
Kadri took a backhand pass from Jonathan Huberdeau and buried a wrist shot from the high slot at 13:31 to make it 5-3.
Celebrini shot into an empty net at 18:50 for his second goal of the night and the 6-3 final.


