Calgary has won consecutive games for the first time since the opening two weeks of the season and finally reached 10 victories for the campaign.
The Flames scored four times on just 18 shots against Thomas Greiss.
Keith Yandle picked up the Coyotes' lone goal 4:47 into the contest, but Calgary escaped the first period with a 1-1 tie thanks to a goal from T.J. Brodie with eight seconds left in the stanza.
Karri Ramo, making his second straight start, earned the win by stopping 29 shots.
Rosie O'Donnell unveils nearly 50-pound weight loss
Justin Bieber crashes Drake Bell's album release party