Jarome Iginla, Matt Stajan, Alex Tanguay and Sven Baertschi all scored for the Flames, who have won five straight to surge back into the playoff chase.
"Phoenix is a team that plays hard and every shift is a tough shift," said Calgary head coach Brent Sutter. "Tonight was a lot of trench work, a lot of work on the boards and we got some timely goals."
With 80 points, Calgary is just one point behind Colorado for the eighth spot in the Western Conference. Phoenix also has 81 points, but sits in seventh thanks to tiebreakers.
Oliver Ekman-Larsson scored the only goal for the Coyotes, who have dropped seven of their past nine. Mike Smith was touched for all four goals on 19 shots.
Calgary took the lead just 17 seconds into the contest when Keith Yandle had the puck to the left of his goaltender and tried to pass it back across, but Baertschi was there for the easy pick and he backhanded it in.
"We played last night, got points, you know you're going to have to come in here and play a really determined, really tight game and not give them anything on Earth then we gave them an unearned goal, " said Phoenix head coach Dave Tippett.
The score remained that way until the 5:16 mark of the second when Iginla's wrister from the right circle on the rush fooled Smith for a 2-0 lead.
Phoenix cut its deficit in half at the 17:37 mark when Ray Whitney skated from the low right circle to the slot and sent a backhand pass over to the left circle where Ekman-Larsson one-timed it home.
Calgary, though, got the goal back just 33 seconds later when Cory Sarich's shot from the top of the right circle hit off of Stajan's stick and went in for a 3-1 lead.
Tanguay stuffed the puck in from the low left side while shorthanded with 5:04 to play to seal the win.
Calgary plays in Edmonton on Friday...Phoenix continues its four-game road trip in Edmonton on Sunday...Each team won twice in the season series...Phoenix was 0-for-3 on the power play while Calgary was 0-for-2.