Sharks 4, Flames 1: Patrick Marleau scored twice during a three-goal second period as visiting San Jose rallied to defeat Calgary in the season opener for both teams.
Defenseman Dan Boyle recorded a goal and an assist, Martin Havlat also tallied and Antti Niemi made 31 saves for the Sharks, who were without blue-liner Brent Burns due to a lower-body injury.
Lee Stempniak scored a power-play goal and Miikka Kiprusoff stopped 25 shots for Calgary, which lost Bob Hartley's debut as coach and fell to 13-17-10 in season openers.
Stempniak got the Flames on the board with 7:39 remaining in the first period, beating Niemi high to the glove side with a wrist shot from the top of the right faceoff circle. But that was all the Scotiabank Saddledome crowd had to cheer about as San Jose scored three times in a 4:18 span during the latter half of the second to take control.
During a man advantage, Sharks captain Joe Thornton stole the puck from Flames defenseman Mark Giordano behind the net and dished it to Marleau, who tucked it around Kiprusoff while on the doorstep with 6:08 left in the middle session to forge a tie. Thornton and Joe Pavelski each finished with two assists.
Havlat put San Jose ahead for good just over a minute later, grabbing the rebound of blue-liner Marc-Edouard Vlasic's shot and burying it from in front. Marleau capped the outburst with 1:50 to play in the period by converting a cross-ice feed from Boyle.
The Sharks sealed the win with a minute remaining in the third as Boyle ripped a shot past Kiprusoff during a 5-on-3 power play.
GAME NOTEBOOK: Kiprusoff was appearing in his 600th career game. His record fell to 311-200-74. ... Calgary D Jay Bouwmeester played in his 589th straight contest. He owns the sixth-longest consecutive-games streak in NHL history and trails Andy Hebenton (630) for fifth. Doug Jarvis has the record, having played 964 games in a row. ... The Flames are back in action Monday as they host the Anaheim Ducks, while the Sharks travel to Edmonton to face the Oilers on Tuesday.