Paris St. Germain remained top of the Ligue 1 table Saturday, but not through any of its own doing.
PSG left the door open for both St. Etienne and Valenciennes to overtake it after losing 2-1 at home to nine-man Rennes.
St. Etienne looked destined to leap into first when Max Gradel's brace provided a 2-0 lead at Evian, but the home side belied its position in the drop zone to salvage a 2-2 draw.
And with Valenciennes also drawing 1-1 with Montpellier, PSG clung on to the top spot, though Marseille can still dethrone PSG when it takes on Bordeaux on Sunday.
PSG fell behind to Romain Alessandrini's 13th-minute volley and after Nene equalized, Rennes had goalkeeper Benoit Costil sent off.
However, the visitors responded superbly, taking the lead again through Julien Feret (34) and holding on despite Jean Makoun also being dismissed.
It had looked for all the world as though St. Etienne was going to make them pay too, with Gradel scoring in the ninth and 28th minutes.
But the strugglers hit back through Mohammed Raibu (48) and then stole a point through Aldo Angoula with 10 minutes left.
Valenciennes was also held, albeit against stronger opposition.
Defending champion Montpellier, laboring in mid-table, took an early lead through Gaetan Charbonnier in the 15th minute but was pegged back by Gregory Pujol six minutes before the break.
Jamel Saihi was sent off for Montpellier 12 minutes into the second half.
At the bottom of the table, Sochaux gave itself some breathing space as Samuel Bohours put through his own goal 10 minutes in to provide a 1-0 win at Ajaccio, while the bottom two of Troyes and Nancy shared six goals in a 3-3 thriller.
Granddi Ngoyi gave second-bottom Troyes a dream start with a 20th-minute opener, but the home dressing room was not a happy one at halftime as Nancy reeled off three goals to take control.
Sebastian Puygrenier got the first of them (32) and Yohan Mollo (33) put the visitors ahead. When Andre Luiz scored on the stroke of halftime, being off the bottom Saturday night was a distinct possibility.
But they had not banked on Benjamin Nivet grabbing a late brace for Troyes, the first coming nine minutes from the end and the second an 87th-minute penalty.
In the day's other game, a brace from Larsen Toure and Eden Ben Basat's penalty saw Brest beat Bastia 3-0.
Toure got his first on the stroke of the interval and his second 12 minutes after it before Ben Basat rounded things off on the hour.