Sidney Crosby and Evgeni Malkin each had two assists, and Kris Letang played in his 1,000th NHL game for the Penguins (38-29-10), who have won three of five. Bryan Rust scored in his 500th NHL game, and Casey DeSmith made 31 saves.
"It was a special night, a lot of emotion," said Letang, who was honored with a pregame ceremony. "But you have to refocus and say that the two points are more important right now. It was cool to get the win."
Pittsburgh moved one point ahead of the Florida Panthers for the second wild card and one point back of the New York Islanders, who lost 2-1 to the Carolina Hurricanes on Sunday, for the first. The Penguins had dropped one point behind Florida on Saturday following a 4-3 loss to the Boston Bruins and a 7-0 victory for the Panthers against the Columbus Blue Jackets.
Nicolas Deslauriers and Travis Konecny each scored in the third period, and Samuel Ersson made 27 saves for the Flyers (29-34-13), who have lost three straight (0-2-1).
"I thought we had the higher-quality chances in the game," Philadelphia coach John Tortorella said. "I didn't think it was out of reach when it was 3-0. I just thought we'd keep banging away. I thought we'd get to them. We certainly tried."
Rakell put Pittsburgh ahead 1-0 at 11:40 of the first period when his one-timer hit off the back glass, bounced back over the net and deflected in off Ersson's back.
Rakell then made it 2-0 at 14:53 by redirecting a slap pass from Malkin on a power play.
"I don't know what to say," Ersson said of Rakell's first goal. "I don't know how you're supposed to expect that one, but I mean, [stuff] happens. Tough bounce and you just have to find a way to battle back."