The Oilers, who were 4-0-3 in their previous seven games, scored three goals in the third period, including two goals 13 seconds apart, to pull within one, 5-4. But Richer scored with 2:20 left for the final margin.
The victory gave Montreal 60 points and put the Canadiens in first place in the Adams Division, a point ahead of Boston. Wayne Gretzky, out with a knee injury, missed his ninth game in a row.
Detroit 4, Toronto 3--Petr Klima scored twice and had an assist at Detroit as the Red Wings won for the seventh time in eight games.
The Maple Leafs are winless in their last 12 outings (0-8-4). They have not won since Dec. 23.
The Red Wings, 8-1-1 in their last 10 games, increased their Norris Division lead to 10 points over the St. Louis Blues and Chicago Blackhawks.
Allan Bester, who started in goal for Toronto, was replaced by Ken Wregget after allowing three first-period goals.