Blue Jackets goaltender Joonas Korpisalo had lost his stick and was unable to get a glove on Brodie's wrist shot from the high slot.
Elias Lindholm and Matthew Tkachuk also scored for Calgary. Cam Talbot made 20 saves and improved to 8-3-1 since Jan. 1.
Calgary (35-26-7) continued to cling to third place in the Pacific Division, just ahead of five teams jockeying for Western Conference wild-card berths.
''We're desperate right now,'' Flames captain Mark Giordano said. ''We know where we are in the standings. Every night is huge. Your nights off, you see teams winning around you. When you play you've got to make it count.
''The effort was there all night. Sometimes it doesn't look as good from up top because the other team is doing a pretty good job out there too.
Devin Shore and Gustav Nyquist scored first-period goals for Columbus. Korpisalo stopped 34 shots.
At the start of a five-game homestand, the Flames improved their record at the Saddledome to 14-13-4.
''I think there's been such an emphasis being talked about how we can't play at home ... how we're terrible at home,'' Calgary head coach Geoff Ward said. ''That's all we've been hearing around home for awhile now.
''Probably the fact we were able to break through and do what we did tonight, it can be more of a confidence builder for us than maybe in a different situation when the emphasis wasn't so much on how bad we are at home.''
Lindholm kicked off Calgary's comeback at 11:14 of the third period.
With Talbot pulled for an extra attacker, Tkachuk scored a tying goal at 18:17.
The injury-riddled Blue Jackets have forwards Cam Atkinson (ankle) and Brandon Dubinsky (wrist), defensemen Seth Jones (ankle) and Dean Kukan (knee), winger Josh Anderson (shoulder) and rookie centre Alex Texier (back) on injured reserve.
Forwards Oliver Bjorkstrand (ankle) and Nathan Gerbe (groin) are also sidelined, while goaltender Matiss Merzlikins is day-to-day with an upper-body injury.
Columbus defenseman Ryan Murray played just his second game Wednesday since breaking his hand in December.
''Don't even start talking about injuries,'' Blue Jackets head coach John Tortorella said. ''This has nothing to do with it.
''We've been doing this for three months and we have found a way to win games. We need to continue to stay with it.
''We need to get some guys that I think can bring more offense to do that more consistently without sacrificing some of the things we need to do above the puck.''
With Talbot pulled for an extra attacker, Flames captain Mark Giordano threaded a shot through traffic for Tkachuk to re-direct home.
Lindholm pulled the hosts within a goal midway through the third.
His linemate Andrew Mangiapane harassed defenseman Zach Werenski behind the Columbus net and forced a turnover for Lindholm to exploit.
The Flames fanned on scoring opportunities in the second period.
Calgary's Tobias Rieder missed the net on a breakaway, Korpisalo stoned Mikael Backlund from close range and Lindholm couldn't corral a bouncing rebound on a shot by Johnny Gaudreau.
Columbus turned Calgary's neutral zone turnover into an odd-man rush with Nyquist converting a feed from Nick Foligno at 11:20 of the opening period.
Shore scored his first goal as a Blue Jacket. He was acquired from Anaheim at the trade deadline on Feb. 24. The winger squeezed a wrist shot from the face-off circle under Talbot's right arm at 8:56.
Tkachuk was hobbled blocking a shot at the four-minute mark. He remained in the game, but skated uncomfortably at times.
''It's important for us to come and take care of business here at home, which we haven't done as of late, but hopefully we can turn it around,'' Tkachuk said. ''This is a big month of a lot of home games.''
NOTES: Flames forward Derek Ryan skated in his 300th career NHL game. ... Defensemen Erik Gustafsson and Derek Forbort played their first home games as Flames since being acquired at the trade deadline.
Blue Jackets: At Edmonton Oilers on Saturday.
Flames: Host Arizona Coyotes on Friday.
More AP NHL: https://apnews.com/NHL and https://twitter.com/AP-Sports
Copyright 2020 by STATS LLC and Associated Press. Any commercial use or distribution without the express written consent of STATS LLC and Associated Press is strictly prohibited.