The Flames had a bevy of Grade-A chances - more on that below - but lost their third straight outing when Sebastian Aho scored his second goal of the night with 53 seconds left in the extra frame.
Calgary is now 15-6-7 on the season, while Carolina improved to 18-6-1.
Both teams entered the contest with 35 points each.
Jacob Markstrom made 24 saves in the game, while Frederik Andersen had 26 stops.
Noah Hanifin had the lone goal for the homeside.
The Flames flubbed a line change just 1:01 into the opening frame and were tagged with a two-many men minor.
On the ensuing powerplay, the penalty-killers came up big, clearing pucks and clogging lanes, the visitors recording just one shot.
The homeside went a perfect 3-3 on the PK in the game, but their powerplay finished 0-5 on the night.
Aho would open the scoring at 4:14 when he slipped out from behind the net all alone and tipped a pass behind Markstrom on Carolina's second shot of the night.
Hanifin had a chance to tie it up not long after on a penalty-shot attempt.
Johnny Gaudreau intercepted a pass near the Calgary blueline and then passed to Hanifin who squeezed between two Carolina defenders but was held up on his way to the cage.
On the PS, he swooped in from the right wing boards and faked and then shot, the puck going under Andersen and skirting just outside the right post.
Matthew Tkachuk was then sprung up the middle alone but he fired it high.
Sean Monahan then got a crack in tight as the Flames swarmed the Carolina crease.
The shots, in quick succession, ballooned to 7-3 in favour of the homeside.
The Flames got their first powerplay with exactly two minutes left in the first period when Jesper Fast tripped Blake Coleman in the 'Canes zone.
Calgary came close again to tying it up off the rush on the zone entry, Gaudreau passing to Monahan who tapped it across to Tkachuk but his tip just went wide of the cage.
Andrew Mangiapane then went looking for his team-leading 18th goal tipping a lovely feed from Mikael Backlund in tight but Andersen was there for the save.
No. 88 started the second the way he finished the first, going to the front of the net in the opening seconds, this time the puck hitting him and he was unable to corral the loose puck for a rebound shot.
Gaudreau was sent off for cross-checking Aho 1:14 in, but the PK once again got the job done.
Hanifin then tied it up at 7:23 with his second goal of the season, a fantastic seeing-eye wrister from the point that beat a screened Andersen high glove side, with Rasmus Andersson and Elias Lindholm picking up the helpers.