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.
Boston schools pull out free condoms over wrapping complaints
NBC reportedly holds celebs hostage to Jimmy Fallon's show