Nick Bjugstad scored his first goal for Pittsburgh (29-20-7), which ended a four-game losing streak. Sidney Crosby had a goal and two assists, and Jake Guentzel and Kris Letang scored.
"They do a good job of getting pucks through, tips like that," Murray said. "You've got to give them a lot of credit, they made it a really hard night for us."
WATCH: [All Penguins vs. Flyers highlights]
Carter Hart made 24 saves for Philadelphia (25-24-7) but lost for the first time in nine games, dating to Jan. 12. The 20-year-old was trying to set a record for longest winning streak by a goalie before his 21st birthday. His eight straight wins left him tied with Jocelyn Thibault of the Quebec Nordiques, who went 8-0-0 from March 6-26, 1995.
Jakub Voracek scored for the Flyers, who lost in regulation for the first time in 11 games (9-1-1).
"I think all game we played well," Flyers center Sean Couturier said. "We created a lot of chances, couldn't capitalize."
A win could have pulled the Flyers within four points of the Penguins for the second wild card into the Stanley Cup Playoffs from the Eastern Conference. Philadelphia is eight points back with 26 games remaining.
The Penguins' closest competitor in the playoff race is the Carolina Hurricanes, who are three points behind.
"It's really close right now," Crosby said. "We know that it's going to be tight all the way down the stretch here. It's something we should be excited for."
Philadelphia's 28 shots on goal in the second set a Flyers record for a single period; they had 25 in a period twice previously.