Emmanuel Riviere's eighth goal of the season with 15 minutes left to play proved enough for Claudio Ranieri's men after the visitors had Jean-Baptiste Pierazzi sent-off with an hour played.
Victory for Monaco, their fourth league win in a row, moved them back above Lille following their defeat at Bordeaux earlier in the day and closed the gap on leaders Paris Saint-Germain back to two points.
Lille succumbed to a 28th-minute own goal from Simon Kjaer after being unable to break down a Bordeaux side which played with 10 men from the 58th minute following the sending off of Maxime Poundje.
Defeat, the visitors' first since September, left them four points behind PSG.
Lyon battled back from a goal down to run out 3-1 winners at Bastia.
Florian Raspentino gave the hosts the lead in the 34th minute but Lyon hit back after the break thanks to goals by Alexandre Lacazette, Yassine Benzia and Bafetimbi Gomis.
A second-half equaliser from Toulouse midfielder Abel Aguilar denied Montpellier a much-needed victory in their first outing since the resignation of coach Jean Fernandez.
Fernandez stepped down on Thursday after seeing his side take just two points from their previous seven games, and he is set to be replaced by former Montpellier boss Rolland Courbis on Monday.
Courbis will take over a side still stuck in the bottom four of Ligue 1 following Sunday's 1-1 draw, which saw Montpellier go ahead through Souleymane Camara's 19th-minute strike only for Toulouse to claim a point when Aguilar - whose mistake led to Camara's goal - levelled 18 minutes from time.
Toulouse had spurned a great chance to draw level before that but Eden Ben Basat saw his 51st-minute penalty saved by Geoffrey Jourdren.
Montpellier also had a player sent off in that incident, Daniel Congre handed his marching orders, but Toulouse only had a man advantage for 17 minutes before they lost defender Jonathan Zebina to a controversial red card as both teams finished with 10 aside.