Daymond Langkow had a goal and two assists as the Flames charged out to three-goal lead but had to hang on for a 3-2 win over the Vancouver Canucks on Saturday night.
It was the Flames sixth consecutive win and nudged Calgary closer to sewing up an NHL playoff berth.
"In the third period we got stressed and never relaxed and didn't play the way we did in the first two," said Kristian Huselius, who scored the winner early in the second period. "They came back and made a push in the third."
Craig Conroy scored a short-handed goal for the Flames, who improved their record to 43-25-10 for 96 points.
The Flames can clinch a playoff berth Tuesday night when they play the Colorado Avalanche at the Saddledome.
On a night when they looked like a team adrift, the Canucks finally got some wind in their sails in the final 20 minutes. They took advantage of some Calgary penalties and outshot the Flames 18-3 in the third period.
Brendan Morrison and Matt Cooke, on the power play, got Vancouver to within one goal. Daniel Sedin had a chance to tie the game with just eight second left but Calgary goaltender Miikka Kirprusoff made the save.
"They first two periods it wasn't like we got outplayed but they shot when they got the chance and got a 3-0 lead," said Canuck captain Markus Naslund, who has gone 11 games without scoring a goal.
"It wasn't a terrible game from our side but we've got to be sharper and can't let them get the odd-man rushes and the chances they got because they're too talented a team."
Conroy said the game turned when defenceman Roman Hamrlik was called for a delay of game, then an unsportsmanlike conduct penalty near the end of the second period.
"It went downhill from there," he said. "They got a lot of momentum and they kept building on those power plays.
"They got one (goal) and the pressure was on. It was a learning experience for us. We have to make sure we stay out of the box."
Flame captain Jarome Iginla lit a fire under his team early, getting into a fight with Canuck defenceman Willie Mitchell just 2:34 into the game.
While Iginla and Mitchell battled, bringing a roar from the sellout crowd of 18,630, all the other skaters paired off. Vancouver's Jeff Cowan and Calgary's Wayne Primeau skirmished while Bryon Ritchie and Alex Burrows had a shoving match.
"It was an emotional boost for us," said Langkow. "We know any time we come in here it's going to be a physical game.
"They've got some guys that like to run around. That's why he's our captain. He's not afraid to get in three and mix it up."
The Canucks' record drops 47-24-7 for 101 points. Vancouver maintains a three-point lead over Minnesota for first place in the Northwest Division and the third overall seed in the Western Conference. Minnesota lost 2-1 to Colorado earlier.
The loss snapped a two-game Vancouver win streak. It was the first time in nine games the Canucks haven't gained at least a point.
Vancouver goaltender Roberto Luongo, who allowed three goals on nine shots, said the Canucks weren't sharp early.
"We came out a little flat to start the game and they were hungrier than us," he said.
"The first 25 minutes we had some pretty bad breakdowns in our zone and it's tough to come back against a team like Calgary."
Langkow opened the scoring at 4:07 of the first with his third goal in six games.
Calgary broke open the game with goals 2:28 apart in the second period.
Langkow was the architect of the short-handed goal, collecting a loose puck at the blue-line and starting a two-on-one break. He waited for Luongo to commitment himself, then slid a pass to Conroy who had an open net.
It was Calgary's 14th short-handed goal of the season.
Huselius made it 3-0 at 3:38 of the second, collecting an Iginla rebound and putting it past Luongo.
Canuck coach Alain Vigneault was frustrated with a power play that managed just one goal in eight chances.
"Our power play got us a late goal but it gave up a goal," he said.
"I think we made a couple of mistakes that they pounced on and made up pay for it."
Notes: Defenceman Mattias Ohlund missed his fourth straight game with a cut on his left elbow while fellow blue-liner Sami Salo sat out his second consecutive game with a groin injury. ... Defenceman Dion Phaneuf was out of the Flames lineup with the flu. ...The Canucks have a chance to break the franchise record of 104 points in a season set in 2002-03. ...Vancouver's Jan Bulis needs four goals for 100 in his career.