Franck Tabanou produced a superb solo effort to give Toulouse a 24th-minute lead. Emmanuel Riviere then scored either side of halftime before Daniel Braaten struck late on.
Valenciennes are fourth on 15 points after they recovered from conceding an early goal to destroy Lorient 6-1.
Lorient, who had Arnaud Le Lan and Innocent Emeghara sent off, are eighth in the table.
Benjamin Corgnet headed the visitors in front after seven minutes before Carlos Sanchez and Anthony Le Tallec replied for Valenciennes.
Gael Danic (penalty), Le Tallec again and a late double from Vincent Aboubakar wrapped up a convincing victory.
Le Lan was dismissed after 18 minutes for a bad tackle and Emeghara received his marching orders in the 76th.
Valenciennes are tied on 15 points with Lyon, who host Stade Brest on Sunday, and Girondins Bordeaux who drew 1-1 with Lille on Friday.
Champions Montpellier, who host Olympiacos in the Champions League on Wednesday, are down in 16th place after losing 2-1 at Stade Rennes.
Jean Makoun nodded the home team in front from a Julien Feret corner in the 13th minute and striker Mevlut Erding shot past keeper Laurent Pionnier to double the lead in the 52nd.
Younes Belhanda converted a penalty for Montpellier with 21 minutes left.
Second from bottom Nancy had Djamel Bakar sent off in a 1-1 draw with Sochaux while Nice v St Etienne ended in the same scoreline.