Ten-man Reims beat big-spending PSG 1-0 on Saturday in one of the shocks of the season, thanks to a second half goal from Grzegorz Krychowiak.
Zlatan Ibrahimovic had a goal controversially disallowed early in the second half, and Reims then had Christopher Glombard sent off for a second bookable offence before the hour mark.
But Reims still ran out winners as Krychowiak scored the only goal in the 64th minute.
The 15th placed side in Ligue 1 had won only once in their last 18 games - 2-1 against Nancy in early February- and the result means that Lyon can move level on points with PSG by beating Brest away from home on Sunday.
Nice paid the price for the first-half dismissal of Valentin Eysseric as St Etienne continued their push for Champions League football next season with an emphatic 4-0 win.
St Etienne led early on through Pierre-Emerick Aubameyang's penalty but the game turned on the 23rd-minute dismissal of Eysseric, whose ugly challenge on Jeremy Clement spelled the end of the night for both men.
Nice held out with 10 men until the break only for the floodgates to open in the second half, with Yohan Mollo scoring in between Brandao's brace.
Toifilou Maoulida scored the only goal as Bastia beat Ajaccio 1-0 in a fiery Corsican derby but it was the dismissals of five players, four in the final minute, which will create the headlines.
Maoulida struck early in the second half with Ajaccio's hopes of a comeback not helped by a second yellow card for Mathieu Chalme 10 minutes from time.
However, the match was overshadowed by events in the dying moments when Dennis Oliech's dismissal for the visitors sparked a brawl which resulted in subsequent red cards for team-mate Benjamin Andre and Bastia duo Florian Thauvin and Jerome Rothen.
Gael Danic's 79th-minute penalty ensured Valenciennes claimed a point in a 1-1 draw at Lorient.
Danic slotted home from the spot late on after Lorient defender Arnaud Le Lan had handled in the area. The hosts had taken a third-minute lead through Kevin Monnet-Paquet's low strike, their first chance of the game, but Le Lan's error cost them dear and they remain ninth in Ligue 1 - five points and two places better than their opponents.
Nancy climbed off the bottom after upsetting Sochaux 2-1 to claim only their fourth win of the season.
First-half goals from Benjamin Moukandjo and Florent Zitte put Nancy in charge, and Sochaux halved the deficit through Sloan Privat's acrobatic effort in stoppage time at the end of the game.
The victory sees Nancy move above Troyes and to six points behind Sochaux and safety.
Evian were left three points short of safety at the foot of the table after a 0-0 draw at Toulouse which did little to set the pulses racing.
Pascal Dupraz's men would have returned to the dressing rooms kicking themselves after failing to get a maximum-point haul which would have reduced the deficit between themselves and Sochaux to a single point.