Richards put in his own rebound for his seventh goal 1:16 into the period after taking a pass from Dimitry Afanasenkov, who stole the puck from Boston's Zdeno Charo who fell to the ice deep in his own zone.
Simon Gagne, Scotty Upshall, and Afanasenkov also scored for the Flyers, who had dropped two of their previous three games.
Upshall scored shorthanded at 13:17 of the third period and Afanasenkov added an empty-net goal with 1:42 left.
Dennis Wideman scored for the Bruins, who have lost three straight games and six of their last eight.
Philadelphia goalie Martin Biron stopped 26 shots to improve his record to 3-1-1 since being acquired from Buffalo on Feb. 27.
Joey MacDonald had 25 saves for the Bruins.
MacDonald had been a backup in five of six previous games since being claimed off waivers from Detroit on Feb. 24. The Flyers shelled him for 33 shots when they beat the Red Wings, 6-1, on Feb. 12.
Gagne put the Flyers ahead 1:58 into the first period with his team-leading 37th goal, a slap shot from the left circle.
Wideman tied it for the Bruins with his sixth goal at 7:30 of the period when he ripped a one-timer from the right circle over the glove of Flyers goaltender Martin Biron. It was his first goal in 19 games.
Notes: Philadelphia D Joni Pitkanen's assist on Gagne's goal was his career-high 34th for a season. . . . The Bruins failed on five power play opportunities and are 0-for-22 in their last five games. . . . Philadelphia was 0-for-4 and has scored only three goals in its last 49 power play opportunities. . . . Boston C Marc Savard, who assisted on Wideman's goal, scored nine points (three goals, six assists) in four games against the Flyers this season.