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.