The Flames trailed 3-1 in the first period. The comeback victory came three days after the Flames began a six-game trip with an 8-2 loss to the Detroit Red Wings.
"It looked like it was going to be a long night, but we turned it around in the locker room between the first and second (periods)," said Gaudreau, who has a goal in five straight games.
Mike Smith made 35 saves for the Flames after missing one game with an upper-body injury.
"I think as the game went on, I got more comfortable," he said.
Brandon Manning, Sean Couturier, Ivan Provorov and Nolan Patrick scored for the Flyers (8-8-4), who have lost four straight games.
Elliott made 26 saves; he played for the Flames last season before signing a two-year contract with the Flyers this offseason.
"We put ourselves in a good position and we take too many penalties there in the second period," Elliott said.
Monahan scored three times in the second period, tying the game 3-3 with his second goal at 9:51. His third goal at 14:56, 11th of the season, made it 4-4 after Patrick scored 54 seconds earlier to give the Flyers a 4-3 lead.
Calgary coach Glen Gulutzan said he was surprised Monahan didn't already have a hat trick.
"That just goes to show you he's a consistent scorer," Gulutzan said. "He's not surviving on the big games all the time. Good for him. I've coached some good players and he really has a nose for the net."
The Flames went 3-for-5 on the power play. The Flyers took four penalties in the second period, including a bench minor for complaining to the officials.
"We got the penalties. We probably deserved them," Couturier said." "You've got to control what you can control, and it's definitely not yapping at the ref that's going to help us."