Philadelphia has won four in a row and eight out of nine. The Flyers increased their lead over Pittsburgh in the Atlantic Division to five points.
Richards equaled his season-best point total with four, producing goals in each of the first two periods while the Flyers were building a 3-0 lead.
Ottawa cut its deficit to 3-2 heading into the third period but Philadelphia put the game away on goals by Scott Hartnell, James van Riemsdyk and Andrej Meszaros. Richards assisted on the second and third goals in the period.
Sergei Bobrovsky won his fourth straight start with 25 saves.
The Senators have suffered 10 losses in their last 11 games, this setback going to Brian Elliott. He gave up all six goals on 22 shots.