Toulouse fell behind to tries from JP Pietersen and Malakai Fekitoa in the first half at Stade Velodrome in Marseille, but Josua Tuisova's yellow card for a dangerous tackle shortly before the break handed it a numerical advantage.
The visitors failed to capitalise even when Toulon was again a man down when Florian Fresia was shown a red card for striking Lucas Tauzin.
Toulouse was powerless to stop Fekitoa barging over for his second try of the match after the hour mark, but Pierre Pages’ late score at least denied the hosts a bonus point.
Clermont Auvergne will reduce Toulouse's advantage at the top of the table if it overcomes Racing 92 on Monday (AEDT).
Bordeaux-Begles moved level with Lyon on 56 points with a 31-22 win over bottom side Perpignan, whose day was made even worse by Grenoble ending its eight-game losing streak in league action to move 12 points clear of its opponent at the foot of the table.
Perpignan claimed just its second victory of the season by beating Grenoble last time out, but an immediate return to the second tier looks likely once again after it failed to mount a late comeback with Alexandre Roumat and Ulupano Seuteni in the sin bin for the final five minutes.
Grenoble closed to within five points of Agen, which went down 33-17 to Montpellier, Louis Picamoles crossing twice as Vern Cotter's side racked up 21 points without reply in the first half.
Reigning champion Castres dealt La Rochelle's quarter-final hopes a blow with a 25-11 victory at Stade Pierre Fabre.
Benjamin Urdapilleta kicked 15 points to help send his team up to third in the standings.