Hayden Hodgson had a goal and an assist in his NHL debut, Travis Konecny scored twice, and Martin Jones made 26 saves for the Flyers (21-32-11), who were 0-11-2 since their last road win Dec. 29, 3-2 in overtime at the Seattle Kraken.
"I'll say we were due, that's for sure," Philadelphia coach Mike Yeo said. "But you know, especially considering we played a lot of really good road games, we just haven't always gotten wins. Even looking at Detroit [Tuesday, a 6-3 loss to the Red Wings], there were a number of times we had Grade-A opportunities and great, great chances to tie up the game, but we haven't been able to deliver and get the job done. But tonight, obviously, happy for the guys."
Blues forward David Perron had his seven-game goal streak end but extended his point streak to eight games (10 goals, four assists) with an assist.
Vladimir Tarasenko and Alexey Toropchenko scored, and Jordan Binnington made 22 saves for the Blues (35-19-9), who have lost eight of 11 games in March (3-5-3).
"I think we just didn't play our game at all," St. Louis defenseman Justin Faulk said. "The work ethic wasn't there, the compete level and intensity wasn't there from a lot of guys [and] I'm very much in that group. Didn't have a good game by any means. But that's just not acceptable. We've kind of had that.
"It's been a little bit of a theme, starting slow and thinking we can score our way through in the second and third [periods] and finding ourselves back in games and then win. Sure, certainly at times that's going to happen. To think that that's going to continually happen and think you're going to be at the right side of things more times than not, it's not true. Every team in this league, whether it's the Flyers, who are out of the playoffs or a Colorado [Avalanche], guys are going to play hard and make it tough on you and we got what we deserved tonight."