Taylor Pyatt scored in regulation for the Coyotes, who extended their season- high win streak to four games.
Mike Smith stopped 22-of-23 shots in the win.
Olli Jokinen tallied a goal and Leland Irving made 34 saves in the Flames' fourth loss in six games.
Calgary trailed 1-0 entering the third period, but tied the game up 4:01 into the frame on a 4-on-4 when Mark Giordano's slap shot from the high slot deflected off the leg of Jokinen and into the net.
Smith stopped the other six shots he faced and Irving blocked 10 in the final stanza to force overtime.
But Calgary's Mikael Backlund was whistled for tripping 2:07 into the extra frame and the Coyotes took advantage of the penalty with the game-winner when Radim Vrbata fed a pass from the right of the net to the top of the left circle, where Doan blasted a one-timer past Irving.
Pyatt gave Phoenix a 1-0 lead at the 7:43 mark of the first period after deciding to keep the puck himself on a 2-on-1 rush and wristing a shot through the pads of Irving.
Phoenix has won nine of the last 12 meetings between the teams...Phoenix went 1-for-3 on the power play, while Calgary was 0-for-3 on the man advantage...Phoenix is now tied with the Minnesota Wild for eighth place in the Western Conference with 58 points apiece...Calgary is tied with the Colorado Avalanche for 10th place with 57 points.