Crosby scored during Pittsburgh's four-goal first period, and Matt Murray made 29 saves for the Penguins (8-5-0), who have won two straight following a three-game losing streak.
"I like the way our team's playing. I've liked the way our team's been playing for three or four weeks now," coach Mike Sullivan said. "I think we've got four lines participating. I think we're playing the game the right way, the way we want to play it. When we all buy in the way the guys are buying in right now, I think we're a very good hockey team."
WATCH: [All Flyers vs. Penguins highlights]
Pittsburgh scored four first-period goals in its first 12 games.
Brian Elliott allowed six goals on 28 shots before being pulled to begin the third period. Carter Hart made eight saves in relief for the Flyers (5-5-1), who have lost two in a row after winning their previous three.
"There's no doubt we're a much better team than we showed tonight," coach Alain Vigneault said. "We, obviously, didn't respond well. A couple of turnovers early, against such a good opponent, end up in the back of our net. ... At the end of the day, we've got to push the reset button here. Our leaders have to lead by their play on the ice."
Justin Schultz put the Penguins ahead 1-0 at 5:57 with a snap shot past a screen from Bryan Rust before Jared McCann made it 2-0 at 8:13.
Dominik Simon, who had two assists, scored 33 seconds later. He took a pass from Crosby and shot from the right face-off circle to make it 3-0 at 8:46.