Monaco, who are still without the injured Radamel Falcao, sealed the win when striker Riviere found the back of the net from close range in the 75th minute, after Ajaccio were reduced to 10 men in the 61st.
Jean-Baptiste Pierazzi picked up a second yellow card for a reckless tackle on James Rodriguez.
Monaco have 38 points from 17 games and trail leaders Paris St Germain, who demolished Sochaux 5-0 on Saturday, by two points.
Goalkeeper Vincent Enyeama's run of 11 successive clean sheets in Ligue 1 ended on Sunday when Lille were beaten 1-0 at Girondins Bordeaux.
The Nigerian international was powerless when Landry N'Guemo's 25-metre strike took a deflection off Simon Kjaer into the net in the 27th minute.
It was the first goal Enyeama had conceded in 1,061 minutes of league action and he fell short of the French top-flight record of 1,176 minutes set by Bordeaux's Gaetan Huard in the 1992-93 season.
Bordeaux finished the game with 10 men after Maxime Poundje picked up a straight red card in the 57th minute for a rough challenge on Franck Beria.