Despite outshooting the Ducks 10-8 in the first period, the Flames were down 3-0 after 20:00 of play.
The Ducks went up 4-0 in the second period but the Flames were able to get two shots past Frederik Andersen in the middle stanza. Mikael Backlund opened the scoring for Calgary at 11:13 and Sean Monahan potted his 15th of the year at 19:12.
Mark Giordano assisted on Sean Monahan's goal, giving him his 40th point of the year.
Lance Bouma picked up two assists in Anaheim, pushing him to 17 points on the year.
Kris Russell led the Flames in blocked shots, throwing himself in front of five on Wednesday night.
Johnny Gaudreau led all skaters with seven shots on net.
Jonas Hiller made 14 saves. He took over in net for Joni Ortio in the second period.