The Ducks trailed 2-0 after the first period but then scored the next three goals to snatch a victory.
Andrew Cogliano scored late in the second period on the rebound of a Ryan Getzlaff shot following a Flyers turnover to cut the deficit.
Then with 4:09 remaining, Palmieri tipped in Nick Bonino's shot on a 2-on-1 break, and the Ducks reeled off their third straight win on the road.
Jonas Hiller earned the victory with 26 saves.
Matt Read and Lecavalier scored with Wayne Simmonds assisting on both goals for Philadelphia.
Mason finished with 34 stops.
N.J. man wakes up from 10-hour sleep with knife in back
Reindeer recovered after escaping from Santa during lighting ceremony