"I'm happy to get in and get a win," Leighton said. "I'm not happy with the way that I played, but I am happy with a win."
It was the first four-point game since March 2 for Richards, who had two goals and two assists. He fell just short of his third career hat trick and second career five-point night.
Claude Giroux also chipped in with a career-high three assists.
More important, the Flyers' first win since Dec. 18 snapped a two-game losing streak and gave them their first win on a season-long five-game road swing.
The Flyers can pull even with Pittsburgh for the Eastern Conference lead tonight in Anaheim on New Year's Eve and the eve of the Penguins' clash with Washington in the Winter Classic at Pittsburgh's Heinz Field.
The real difference for the Flyers was on the power play, which entered the game in the bottom half of the league on the heels of a 7-for-70 stretch in the last 18 games. It struck twice for the first time since Nov. 13 against Florida.
No goal was bigger than Jeff Carter's power-play tally with a two-man advantage in the second period that swung the momentum back in the Flyers' favor and restored a two-goal lead after Jack Johnson scored on a short-side slap shot to cut the Flyers' lead to 4-3.
Peter Laviolette signaled for a timeout with the Flyers cradling the two-man advantage to get Danny Briere back on the ice after missing two shifts with an injury.
It paid off. Carter scored with 9 seconds to spare.
James van Riemsdyk added an unassisted power-play goal a little more than 3 minutes later to give the Flyers a commanding 6-3 lead. At that point, Kings coach Terry Murray yanked goalie Jonathan Bernier.