Matchen förblev mållös efter tvåspelade perioder.
Det skulle dröja fram till 5:39 in i den tredje perioden innan dödläget bröts.
Elias Lindholm sköt i powerplay och Sean Monahan fanns på plats för att vispa in returen.
Bara 55 sekunder senare utökade Flames sin ledning då Elias Lindholm skickade in sitt 8:e mål för säsongen då han fick pucken i öppet läge mellan tekningscirklarna och nöp till direkt.
Med 3:53 kvar av perioden reducerade Toronto genom Kadri som lurade vid den högra stolpen i powerplay. Flames-keepern Smith hann inte med i sidled då Marners passning hittade 500-matchjubilaren Kadri. Toronto-backen Morgan Rielly spelade sin 400:e NHL-match).
Leafs försökte med att plocka ut Andersen i slutet men istället var det Michael Frolik som fastställde slutresultatet i öppen kasse med sex sekunder kvar av matchen.
- Det här var nog vår bästa defensiva insats den här säsongen, säger Flames head coach Bill Peters till NHL.com/sv efter matchen. Både Toronto, och Washington Capitals senast, är två lag som har massvis med skickliga spelare i laget. Finns inte strukturen och om man tappar pucken på fel ställen på banan kommer man att straffas direkt.
- När vi jobbar hårt, fullföljer tacklarna och är stolta över att spela rejält i egen zon är vi ett bra lag.
*
I matchen mellan Vancouver Canucks och Minnesota Wild var det två matchsviter som bröts då hemmalaget vann med 5-2 (1-1, 2-1, 2-0) i Rogers Arena:
Canucks vann igen efter tre raka förluster och Wilds segersvit bröts efter fem raka segrar.
Canucks gick fram till en 3-1-ledning i den andra perioden, men Wild fick in en reducerings puck genom Ryan Suter i powerplay och hade kontakt in inför den sista perioden.
Elias Pettersson gjorde sitt andra för kvällen 6:29 in i slutronden då Brock Boeser spelade fram svensken till ett friläge.
Rookiens avslut satt perfekt i krysset bakom Devan Dubnyk och Vancouver kunde förvalta sin tvåmålsledning tills Ben Huttons 5-2-mål i öppen bur.