The Flyers won for just the second time in six games and moved back into a tie with the New York Rangers for the lead in the Atlantic Division.
Jagr put the Flyers in front for good 6:03 into the second and Matt Read expanded the Philadelphia advantage 10 minutes later.
After Tyler Kennedy brought the Penguins within one, with 6:29 to go in the third, Maxime Talbot scored into an empty net for the Flyers. Talbot, like Jagr, spent most of his career with the Penguins.
Sergei Bobrovsky made 24 saves and Claude Giroux assisted on two of the Philadelphia goals to run his NHL-leading point total to 46.
Mark-Andre Fleury stopped 19-of-22 shots for the Penguins.
Philadelphia will next play Jan. 2 against the Rangers in the NHL's annual experiment with outdoor hockey. The game will be played in the home of the Philadelphia Phillies.
2014: The Year in Fashion [PHOTOS]
LeBron James reveals his new Nike shoes