Conor Sheary had a goal and an assist for the Lightning (33-25-6), who are 1-4-1 in their past six home games. Andrei Vasilevskiy made 18 saves.
"Embarrassing is what [that] was," Tampa Bay coach Jon Cooper said. "We haven't played since last Saturday (a 4-3 shootout win against the Montreal Canadiens). They had time away from the rink, some time together, a couple of practices. ... We couldn't have laid it out more perfect for them to come out and put on a great show for the fans, and they did the complete opposite."
Dryden Hunt gave Calgary a 1-0 lead at 11:40 of the first period, scoring with a one-timer off a pass from Sharangovich from behind the net.
Sheary tied it 1-1 at 14:28, tapping in a backdoor pass from Nicholas Paul.
"I think we gave up too much, too many opportunities to score," Sheary said. "We came out in the first period a little slow from the little break we had and were just never able to recover fully. We have to have a short memory with so few games left. We have to move forward and get the next one."
Sharangovich put the Flames back in front 2-1 at 6:11 of the second period. Huberdeau gloved down the puck in the slot and sent a no-look backhand pass to Sharangovich, who scored with a one-timer from below the right circle.
"Not much was going through my head," Huberdeau said. "I had a feeling he was going to be there. I kind of just threw it there and got a little lucky. It was a big goal for us."
Sharangovich then made it 3-1 at 8:34 with a one-timer from the high slot after Tampa Bay turned the puck over along the boards. It was his 25th goal of the season, an NHL career high.
"First, it's a good win for the team," Sharangovich said. "Four points. ... Good passes by 'Hubie' on the first goal, second goal it's Matty [Coronato]. I think we had a good guy. With Hubie, it's really nice to play with him because you know if you'll be open he'll pass it to you."