Luke Glendening and Owen Tippett scored and Dan Vladar made 34 saves for the Flyers (32-23-12), who extended their point streak to four games (3-0-1).
“We controlled a lot of the game and, going to the third, we wanted to stay positive and gut this one out,” Philadelphia defenseman Travis Sanheim said. “We gave up one late, but stayed with it and found a way to get it done.”
Cutter Gauthier had a goal and an assist, Leo Carlsson scored and Dostal made 24 saves for the Ducks (37-27-4), who have lost three of four.
“It was a hard-fought game,” Ducks coach Joel Quenneville said. “They were better than us in the first half. We got way more competitive and it put us in a good spot, but we’re pretty disappointed with the call at the end.”
The Ducks pulled Dostal for the extra skater with about three minutes left and Carlsson scored when Troy Terry tapped a pass to him off a rebound to tie it 2-2 at 18:06.
“We just didn’t play hard enough, I think,” Carlsson said. “Just weird hockey. Got back to it in the third, but, yeah, too late there.”
Glendening scored his first goal in 78 games to give the Flyers a 1-0 lead at 2:51 of the first period.
Garnet Hathaway won a battle for the puck against John Carlson in the corner of the Anaheim zone and slid it to Cam York, who passed to Glendening in front of the crease, where he chipped the puck high into the net.