Bayonne came from behind to edge Lyon 20-19 on Saturday to keep their Top 14 survival hopes alive and relegate their hosts.
Toulon threw away a 19-point lead to be held to a draw at home to Castres in a crucial clash in the play-offs race.
Biarritz were given a scare at home to Racing, but came good in the final quarter to snatch victory and get themselves some breathing room.
Toulouse had to overturn a half-time deficit to get past Brive, who are now level with Bayonne on the edge of the relegation zone.
A strong first half was enough to see Stade FranÃ§ais past Perpignan, leaving the Catalans just three points clear of the drop zone.
Elsewhere, Bordeaux-BÃ¨gles did their survival hopes a power of good with a home victory over Agen.
Clermont 22-9 Montpellier
Bordeaux-BÃ¨gles 29-15 Agen
Lyon 19-20 Bayonne
Stade FranÃ§ais 35-31 Perpignan
Toulouse 30-21 Brive
Biarritz 22-13 Racing MÃ©tro
Toulon 25-25 Castres
Stade Toulousain 30-21 CA Brive CorrÃ¨ze
Stade Ernest Wallon, Toulouse
Toulouse return to the top of the standings after briefly losing the lead to Clermont on Friday night, but they had to work very hard to overcome a Brive team fighting for survival.
Indeed the defending champs have been off-colour in recent weeks and were unconvincing again.
Toulouse built a healthy lead early on thanks to tries from Clement Poitrenaud and Vincent Clerc but the hosts were trailing 18-15 at the break after Brive replied through tries from full-back Scott Spedding and wing Jacques Boussuge, who struck just before the break.
But the Toulouse pack took control in the second half and Luke McAlister landed four more penalties to see his side home.
"After the first 20 minutes I thought we were going to score 40 points, but unfortunately we were hit by two tries just before the break," said Toulouse coach Guy Noves.
"I told the lads not to get too down on themselves and they would be alright. Thanks to the boot of McAlister we got the job done in the end.
"If we can keep up this level of enthusiasm and willingness to play an attacking game I can be confident for the rest of the season."
Tries: Poitrenaud, Clerc
Pens: McAlister 6
Tries: Spedding, Boussuge
Pens: Swanepoel 3
Yellow cards: Johnston (Toulouse - 4th min); Dubarry (Brive - 4th min); Mela (Brive - 69th min)
Toulouse: 15 Clement Poitrenaud, 14 Vincent Clerc, 13 Yann David, 12 Florian Fritz, 11 Yves Donguy, 10 Luke McAlister, 9 Luke Burgess, 8 Gillian Galan, 7 Thierry Dusautoir, 6 Yannick Nyanga, 5 Patricio Albacete, 4 Yoann Maestri, 3 Cencus Johnston, 2 Christopher Tolofua, 1 Daan Human.
Replacements: 16 Victor Paquet, 17 Jean-Baptiste Poux, 18 Gregory Lamboley, 19 Louis Picamoles, 20 Jean-Marc Doussain, 21 Yannick Jauzion, 22 Jean Bouilhou, 23 Yohan Montes.
Brive: 15 Scott Spedding, 14 Jacques Boussuge, 13 Arnaud Mignardi, 12 Riaan Swanepoel, 11 Ronnie Cooke, 10 Shane Geraghty, 9 Jean-Baptiste Pejoine, 8 Petrus Hauman, 7 Alexandre Bias, 6 Thibault Dubarry, 5 Arnaud Mela, 4 Julien Ledevedec, 3 Vassil Kakovin, 2 Guillaume Ribes, 1 Pablo Henn.
Replacements: 16 Virgile Lacombe, 17 David Khinchagashvili, 18 Retief Uys, 19 Poutasi Luafutu, 20 Olivier Caisso, 21 Mathieu Belie, 22 Jamie Noon, 23 Pat Barnard.
Stade FranÃ§ais 35-31 USA Perpignan
Stade CharlÃ©ty, Paris
Stade FranÃ§ais keep their play-off hopes alive and maintain their unbeaten record at Stade CharlÃ©ty but they almost threw at away as Perpignan made a thrilling comeback to claim a vital losing bonus point - but it could have been a lot more.
The result leaves USAP stuck in the middle of a five-way relegation tussle.
Departing forwards Rodrigo Roncero and Dimitri Szarzewski run out alone in their last home game in Paris with the French hooker in tears. Julien Dupuy was the hero for the hosts, landing seven penalties, including two from his own half.
Roncero scored on the half-hour mark as Stade FranÃ§ais raced to a 19-6 lead. But Perpigan wing Adrien Plante scored just before the break to leave the scores at 22-13 at half time.
George Smith scored soon after the restart while Dupuy continued to knock over kicks to put Stade 32--16 ahead.
Again USAP fought back via tries from Julien Candelon and Gavin Hume but fell short in the end, opting to kick a late penalty rather than push for a draw.
For Stade FranÃ§ais:
Tries: Roncero, Smith
Cons: Dupuy 2
Pens: Dupuy 7
Tries: Plante, Candelon, Hume
Cons: Hook 2
Pens: Hook 3
Stade FranÃ§ais: 15 Djibril Camara, 14 Paul Sackey, 13 Morgan Turinui, 12 Martin Rodriguez, 11 Julien Arias, 10 Felipe Contepomi, 9 Julien Dupuy, 8 Sergio Parisse, 7 Pierre Rabadan, 6 George Smith, 5 Pascal Pape, 4 Anton van Zyl, 3 David Attoub, 2 Dimitri Szarzewski, 1 Rodrigo Roncero.
Replacements: 16 Aled de Malmanche, 17 Rabah Slimani, 18 Scott LaValla, 19 David Lyons, 20 Jerome Fillol, 21 Jonathan Danty, 22 Hugo Bonneval, 23 Stanley Wright,
Perpignan: 15 Joffrey Michel, 14 Adrien Plante, 13 David Marty, 12 Rudi Coetzee, 11 Julien Candelon, 10 James Hook, 9 David Mele, 8 Henry Tuilagi, 7 Bertrand Guiry, 6 Damien Chouly, 5 Robins Tchale-Watchou, 4 Olivier Olibeau, 3 Kisi Pulu, 2 Guilhem Guirado, 1 Jerome Schuster.
Replacements: 16 Maxime Delonca, 17 Sebastien Taofifenua, 18 Romain Bezian, 19 Sebastien Vahaamahina, 20 Florian Cazenave, 21 Gilles Arnaudies, 22 Gavin Hume, 23 Romain Brison.
Lyon Olympique 19-20 Aviron Bayonnais
Stade Matmut, Lyon
Bayonne's second consecutive win sends Lyon to the ProD2 and keeps the heat on Brive, Perpignan, Biarritz and Bordeaux.
It was a drama-filled afternoon as a 70th minute penalty from Benjamin Boyet handed the visitors victory.
Wing Yoann Huget scored after just two minutes for the Basques but the rest of the half would belong to Lyon, who used the strong wind to their advantage.
LOU led 19-7 at half time thanks to a try from full-back Thibault Suchier and Lee Thomas's accurate boot.
But against the wind in the second half, the wheels came off for the hosts, who failed to trouble the scorers. Marvin O'Connor's try soon after the restart and Jacques-Louis Potgieter's boot set up a grandstand finish before Boyet won it for Bayonne.
Pens: Thomas 3
Tries: Huget, O'Connor
Cons: Potgieter 2
Pens: Potgieter, Boyet
Lyon: 15 Thibault Suchier, 14 Franck Romanet, 13 Lee Thomas, 12 Nicolas Raffault, 11 Remy Grosso, 10