The game was marred by an injury to David Booth, the Florida left wing who scored the Panthers' lone goal. He left the ice on a stretcher near the end of the second period following a hard blow to the face from Flyers captain Mike Richards.
With 2:55 left, Booth had just released the puck in front of the Flyers' blue line, and Richards plowed into him, delivering a late hit with his left shoulder. Both of Richards' feet appeared to leave the ice as he struck Booth.
Booth immediately fell face down and remained motionless for several minutes. Both teams trainers and Flyers team physician Gary Dorshimer attended to him. Booth appeared to be conscious as he was wheeled off following a seven-minute delay.
Richards was given a major penalty for interference and a game misconduct for intent to injure. He could face a suspension.
Asham's goal broke a 1-1 tie early in the second period, taking a feed from Richards - one of his two assists - and firing a shot past goalie Tomas Vokoun. It was the first time in Asham's 11-year career that he has scored in three straight games.
Rookie James van Riemsdyk capped the scoring with his first career goal.
The Flyers (5-2-1), who snapped a three-game losing streak on Thursday night, have won two in a row. The Panthers (2-6-1) have lost three straight.
Briere had his 28th career two-goal game, scoring Philadelphia's first and fourth goals. His first came after a backhand flip from van Riemsdyk, who stripped the puck from Brian McCabe and fed Briere.
Gagne recovered Richards' shot during a power play, and flipped it over Vokoun.
Flyers goalie Ray Emery stopped 17 of 18 shots.