Andrew Cogliano also scored for the Ducks and Jonas Hiller had 26 saves.
Matt Read and Vinny Lecavalier scored for the Flyers.
Palmieri scored on a tip-in with 4:09 left in the game to help the Ducks win their third straight game. He also scored the tying goal early in the third.
The Ducks lost veteran forward Teemu Selanne in the third period after he took Luke Schenn's high stick to the face. Selanne went down on the corner ice, then skated off on his own power straight to the locker room.
Hiller and the Ducks killed one final Philadelphia power play that extended into the final minute to hang on for the win.
The Ducks answered an early 2-0 deficit with three straight goals to get their latest road win. The Ducks improved to 3-2 on their eight-game road trip, with games at Boston, Buffalo and the New York Rangers still ahead.
Palmieri tied the game when he stripped Lecavalier of the puck and knocked it through Steve Mason's legs to make it 2-2. He converted a perfect pass in the slot from center Nick Bonino to score the winner.
The Ducks outworked and outhustled a Flyers team that showed little spark until the final power play. They pulled Mason for the 6-on-4 edge and still couldn't get the score.
Selanne, in his 22nd season, appeared to be cut by the stick and skated off to a warm ovation.
Cogliano cut it to 2-1 in the second period when a fortuitous bounce off the backboards hit his stick at the right time to poke one past a stunned Mason.
Read gave the Flyers a 1-0 lead when his first shot came straight off Hiller's pads and back to him, allowing him to punch it in for his third goal of the season.
Lecavalier's fifth of the season, this one on the power play, made it 2-0. Lecavalier was coming off a three-goal performance in Philadelphia's 5-2 win over the New York Islanders on Saturday night.
The Flyers went the first nine games without scoring more than three goals, and they hoped to build off Saturday's outburst.
Instead, it was back to the scoring drought, and a dearth of opportunities. They attempted 15 shots in the first period, and only 13 more the rest of the way.
They caught a break when Mathieu Perreault's goal was waved off upon review because of a high stick, an expected call after he pretty much bunted the puck into the net.
Notes: The two teams played each other for the first time since 2011 and the first time they played in Philadelphia since Oct. 21, 2010. ... The Flyers' 28 shots matched their per-game average, which was 25th in the league. ... The Ducks won for the 10th time in 12 games.