Brayden Schenn led the Flyers attack with one goal and two assists, while Wayne Simmonds also was productive for Philadelphia with a pair of helpers. Schenn's goal was the game winner with 1:29 left in the second period.
Ray Emery made 23 saves for the Flyers in his first win since November 21.
The Flyers recorded three victories on their western Canadian road trip during the holiday season. They beat the Edmonton Oilers 4-3 on Saturday and the Vancouver Canucks 4-3 on Monday, with each victories coming in a shootout.
With the win, the Flyers improve to 20-16-4, and into a playoff spot because they are in third place in the newly formed Metropolitan Division. While the Flames drop to 14-20-6 and are 15 points back of the Phoenix Coyotes for a playoff spot. The Flames next play the Tampa Bay Lightning in Calgary on Friday.