Richards picked up the puck at center ice and skated down the right side, with two teammates to his left on a 3-on-1. As he got to the circle, Richards decided to shoot and wristed it past Tim Thomas to end the game.
Brian Boucher stopped 35 shots for the Flyers in their first trip to Boston since coming back from a 3-0 deficit in Game 7 of last season's Eastern Conference semifinals. James van Riemsdyk also scored for Philadelphia, which also trailed that playoff series 3-0.
Boston beat the Flyers 3-0 on Dec. 1 in the first meeting this season.
Nathan Horton scored and Thomas made 32 saves in the latest rematch for the Bruins, who haven't lost in regulation in six games.
It was the fifth consecutive game that Thomas has allowed two or fewer goals, a streak that has him atop the NHL in every major goaltending category. He made a big save with less than two minutes remaining in overtime, sprawling to knock away a trickling puck that was rolling across the crease after it was deflected in front by van Riemsdyk.
But with the Bruins just seconds away from a shootout, Richards ended it.
The return to Boston brought out a fair number of Flyers fans in their orange and white sweaters, but they were quickly shouted down by the larger crowd of locals.
The fans were loudest after Flyers forward Jody Shelley took out Adam McQuaid in the second period. Both players were chasing the puck as it rolled toward the Philadelphia end, and Shelley gave a two-handed shove that knocked McQuaid off his skates; the Bruins defenseman was just able to get his hands up and avoid hitting the boards headfirst.
McQuaid stayed down for several minutes; a trainer was helped onto the ice to help him. When he got to his knees, the fans - and the Flyers bench - began cheering, but he stayed there for a couple of minutes before standing up and getting an escort off the ice, with a teammate on each arm.
McQuaid returned in the third period. Shelley was given a game misconduct and a five-minute major, but the Bruins managed only five shots during the penalty and failed to score.T
he Flyers finally scored with 81 seconds left in the second period when Jeff Carter brought the puck down the left side and crossed it to van Riemsdyk, who one-timed a shot inside the right post. But Boston tied it with 10:17 left in the third when David Krejci sent the puck into the middle, where Milan Lucic, Nathan Horton and Flyers defenseman Chris Pronger were all fighting for position.
Pronger knocked it down, but Horton wound up with it and wristed a shot past Boucher to tie the game.