Mikael Backlund had two early goals and Elias Lindholm and James Neal also scored for the Flames, who improved to 8-1-3 in their last 12 home games. Lindholm set a career high with his 18th goal and added two assists.
“Our first line is contributing and driving the bus, but a lot of guys chipped in today and that was big for the team, too,” Backlund said.
Joonas Donskoi had two goals to lead San Jose. Lukas Radil, Brent Burns and Joe Thornton also scored, but the Sharks lost in regulation for just the second time in 11 games (7-2-2).
“Every time we scored, they answered,” captain Joe Pavelski said. “It was one of those weird nights where everything that was directed at the net found the way in.”
Lindholm gave Calgary a 5-3 lead with 27 seconds left in the second period on a pretty goal. Gaudreau raced down the right wing before stopping sharply, then sending a pass across the slot to Lindholm, who one-timed it past goalie Aaron Dell.
Donskoi’s second of the night, 48 seconds into the third, drew the Sharks back within a goal, but Calgary restored its two-goal cushion on the first goal in 25 games for Neal.
His fourth of the season and first since Nov. 1 was a lucky one. Sam Bennett patiently circled the Sharks end with the puck before firing it across the slot and banking it in off Neal’s skate.
“Great play by Benny and it felt good to see it go in,” said Neal, who hit a post in the second period. “As of late, when you’re getting shots and you’re getting back into your groove, I think it’s visible, as a player and spectators watching, I think you can see my game start to get going a little bit more. It was a nice break.”
Three minutes later, goals 41 seconds apart from Gaudreau — his 20th and 21st of the season — made it 8-4 and put the game away.
It was a feisty game throughout and tempers flared in the final minute. With 41 seconds left, all 10 skaters on the ice got involved in a melee in the Flames end. Then, with 23 seconds to go, a hit from Bennett on Radim Simek crumpled the Sharks defenseman, and Barclay Goodrow jumped in to fight Bennett, who was assessed a match penalty.
“Predatory,” was how Sharks coach Peter DeBoer responded when asked about Bennett’s hit.
After the play, players from both benches yelled angrily at each other.
“They got the lead in a game that got out of hand and it was kind of gutless at the end,” Pavelski said.
David Rittich, making his seventh start in the last eight games, finished with 28 stops to get the win. He improved to 13-4-3.
Dell went the distance for San Jose. The eight goals allowed came on 27 shots as he fell to 5-5-3.
“That might have been the most bad luck I’ve seen in one game. Even their harmless shots ended up going off stuff and right in the net. Crazy, all-around game,” Dell said.
NOTES: Calgary RW Michael Frolik returned to the lineup after being a healthy scratch the previous game and got his first two assists of the season. The first was the 200th of his career. … Thornton played career game No. 1,525, moving him ahead of Brendan Shanahan into 17th all-time. … Dion Phaneuf was the previous Flames player to have five assists in a game on Dec. 13, 2007.
Sharks: Play at Colorado on Wednesday night.
Flames: Play at Detroit on Wednesday night.
More AP NHL: https://apnews.com/NHL and https://twitter.com/AP_Sports