I början av den tredje perioden låg Flames under med 1-3 innan vändningen kom genom fem raka mål i den tredje perioden.
Andrew Mangiapane, som gjort 1-1-målet i den första perioden, svarade för ytterligare två fullträffar i den tredje perioden och fullbordade sitt första hattrick i sin NHL-karriär.
- Det var en viktig seger, säger tremålsskytten till NHL.com/sv efter matchen. Vi har gjort jobbet på bortaplan den sista tiden och vi behövde få med oss samma arbetsinsats också hemma inför våra egna fans. Vi spelade stabilt och jobbade hårt. Det gav utdelning i den tredje perioden.
Vändningen till 6-4-segern innebär att Flames bröt en tung hemmasvit där man bara mäktat med en poäng på de fem senaste matcherna i Scotiabank Saddledome.
- Vi höll oss kvar i matchen trots att puckarna inte trillade in, säger Elias Lindholm, som gick poänglös av isen efter en tio matcher lång poängsvit. Det var bra att vi inte lät den här matchen glida oss ur händerna.
Med vinsten befäster Calgary sin position på den första wildcard-platsen i Western Conference och knaprar in på Vancouver Canucks som är trea i Pacific Division, en poäng före Flames, men med två matcher mindre spelade.
Här är en titt på nattens övriga matcher:
Colorado Avalanche - Tampa Bay Lightning: 3-4 e. förl. (1-0, 1-3, 1-0, 0-1)
Tampa Bay Lightning vann för elfte matchen i rad då Colorado Avalanche besegrades efter förlängning.
Lightning tog kommandot i den andra perioden då laget gjorde tre raka mål.
Valeri Nichushkin kvitterade i den tredje perioden för Avs innan Nikita Kucherov avgjorde i sudden med sitt 29:e mål för säsongen.
Avs Mikko Rantanen bröt matchen i den andra perioden efter att olyckligt fallit in i sargen.