The Coyotes won their fourth straight, their longest such streak of the season, with Mike Smith carrying a shutout into the third period.
Taylor Pratt put Phoenix in front 7:43 into the contest and the Coyotes maintained their 1-0 lead until Olli Jokinen scored on a slap shot 4:01 into the third period.
Doan's winning goal came after Mikael Backlund had been sent to the penalty box for tripping.
Smith made 22 saves in a win that boosted the Phoenix point total to 60. The Coyotes are the eighth team in the Western Conference to reach that mark.
Leland Irving stopped 34 shots for the Flames, who have lost four of their last six games.