Toulouse kept the pressure on the leading duo in the Top 14 standings with a thumping win over Brive, while Lyon were relegated.
Guy Novès' hammered Brive thanks to Yoann Huget's hat-trick, leaving them one point behind second-placed Clermont, who thumped Grenoble.
Lyon could only manage a draw at home to La Rochelle, who gave their own survival hopes a boost with the win.
Elsewhere Bordeaux-Bègles finished in style at André Moga thanks to a hardfought win over Oyonnax, while Montpellier kept the pressure on in the play-off race by beating Bayonne.
Racing-Métro v Stade Français
Bordeaux-Bègles 26-23 Oyonnax
Stade André Moga, Bordeaux
Bordeaux-Bègles bid a fond farewell to André Moga thanks to Marco Tauleigne's late try.
It was Oyonnax who started the better, with two early penalties from Benjamin Urdapilleta helping them into a 6-0 lead, but Pierre Bernard halved the deficit with a drop goal for the home side.
Bernard drew his side level with a penalty before Blair Connor finished off a lovely try, started by Jayden Spence as he beat two defenders before releasing the Australian.
The fly-half converted to make it 13-6, but Urdapilleta knocked over two more penalties to cut the deficit to one for the visitors.
A second penalty of the half from Bernard gave Bordeaux a 16-12 lead at the break, but Urdapilleta added his fifth penalty early in the second to keep Oyonnax right in it.
And he put his side in front again with his sixth penalty on the hour-mark, with both teams reduced to 14 after yellow cards for Jefferson Poirot and Marc Clerc after a dust-up.
Bordeaux gave everything to try to come back but they looked like they would be beaten, however a penalty from Lionel Beauxis put them back in front with five minutes to go.
And they then sealed the win, denying Oyonnax the bonus point, with Tauleigne's late score, converted by Beauxis.
That proved crucial with Florian Denos scoring with the final play of the game after Urdapilleta's cross-kick, nicking a potentially bonus point for Oyonnax.
Try: Connor, Tauleigne
Cons: Bernard, Beauxis
Pens: Bernard 2, Beauxis
Drop goal: Bernard
Yellow cards: Poirot
Pens: Urdapilleta 6
Yellow card: Clerc
Bordeaux-Bègles: 15 Ulrich Beyers, 14 Sofiane Guitoune, 13 Jayden Spence, 12 Julien Rey, 11 Blair Connor, 10 Pierre Bernard, 9 Heini Adams, 8 Peter Saili, 7 Hugo Chalmers, 6 Louis-Benoît Madaule, 5 Adam Jaulhac, 4 Jandré Marais, 3 Francisco Gomez Kodela, 2 Ole Avei, 1 Jean-Baptise Poux.
Replacements: 16 Beñat Auzqui, 17 Jefferson Poirot, 18 Mathew Graham, 19 Marco Tauleigne, 20 Yann Lesgourgues, 21 Lionel Beauxis, 22 Metuisela Talebula, 23 Patrick Toetu.
Oyonnax: 15 Florian Denos (c), 14 Silvère Tian, 13 Pierre Aguillon, 12 Roimata Hansell-Pune, 11 Alaska Taufa, 10 Benjamin Urdapilleta, 9 Fabien Cibray, 8 Villami Ma'afu, 7 Olivier Missoup, 6 Maurie Fa'asavalu, 5 Damien Lagrange, 4 Thibault Lassalle, 3 Marc Clerc, 2 Jody Jenneker, 1 Antoine Tichit
Replacements: 16 Paula Ngauamo, 17 Ruaan du Preez, 18 Leon Power, 19 Pedrie Wannenburg, 20 Valentin Ursache, 21 Yohan Domenech, 22 Regis Lespinas, 23 Soane Tonga'uiha
Referee: Christophe Berdos
Lyon 16-16 La Rochelle
Matmut Stadium, Lyon
La Rochelle took a step closer to survival with a draw at Lyon, confirming their hosts' relegation in the process.
Lyon opened the scoring with a penalty from Jérôme Porical but it was La Rochelle who scored the first try.
After some good work by Malietoa Hingano, the centre found midfield partner Levani Botia for the try, Fabien Fortassin converting to make it 7-3.
Porical missed a kickable penalty soon after, but Lyon remained positive and took the lead again thanks to a try from Damien Fitzpatrick who powered over, with Porical converting.
Julien Audy levelled matters late in the half, but Porical was on target again in the final seconds to give Lyon a 13-10 lead.
Early in the second half Audy added another penalty for La Rochelle, who moved level once again.
The kickers continued their battle, with Audy putting La Rochelle back in front, but Lachie Munro's penalty late on secured the draw for Lyon.
Pens: Porical 2, Munro
For La Rochelle:
Pens: Audy 2
Drop goal: Audy
Lyon: 15 Jérôme Porical, 14 Toby Arnold, 13 Thibaut Regard, 12 Waisale Sukanaveita, 11 Vincent Martin, 10 Romain Loursac, 9 Ricky Januarie, 8 Sakiusa Matadigo, 7 Eugène N'Zi, 6 George Smith, 5 Coenraad Basson, 4 Karim Ghezal, 3 Horatiu Pungea, 2 Damien Fitzpatrick, 1 Jérémy Castex
Replacements: 16 Cameron Mapusua, 17 Nahuel Tetaz Chaparro, 18 Christian Njewel, 19 Frans Viljoen, 20 Mathieu Lorée, 21 Lachie Munro, 22 Paul Bonnefond, 23 Hoani Tui
La Rochelle: 15 Kini Murimurivalu, 14 Alofa Alofa, 13 Malietoa Hingano, 12 Levani Botia, 11 Sireli Bobo, 10 Fabien Fortassin, 9 Julien Audy, 8 Loann Goujon, 7 Jone Qovu, 6 Jason Eaton, 5 Leandro Cedaro, 4 Romana Graham, 3 Uini Atonio, 2 Hikairo Forbes, 1 Vincent Pelo
Replacements: 16 Jordan Seneca, 17 Thomas Synaeghel, 18 Jacobus Grobler, 19 Romain Sazy, 20 Julien Berger, 21 Peter Grant, 22 Nicolas Djebaili, 23 Lekso Kaulashvili
Referee: Maxime Chalon
Montpellier 33-16 Bayonne
Altrad Stadium, Montpellier
Montpellier kept their play-off hopes alive as they saw off Bayonne, securing their place in the Top 14 in the process.
Bayonne made the better start with an early penalty from Santiago Fernandez, but Montpellier responded through their forwards.
After some great work from the Montpellier pack, it was Charles Géli who crashed over for the first try under the posts. Ben Lucas converted to make it 7-3.
They were quickly reduced to 14 though when Sitaleki Timani was sin-binned for a high tackle on Marvin O'Connor and Bayonne took advantage to go back in front.
Lisiate Fa'aoso popped up for Guillaume Rouet's pass and crashed through the defensive line before sprinting 25 metres to score. Fernandez converted to make it 10-7 to the visitors.
Fa'aoso went from hero to villain shortly after when he was yellow-carded and Lucas added the resulting penalty to level matters at the break.
The second half was dominated by the home side however, with two François Trinh-Duc drop goals putting his team ahead after a penalty from Fernandez.
After Lucas and Martin Bustos Moyano exchanged penalties, Akapusi Qera went over for his team's second try, with Pierre Gayraud sin-binned soon after for Bayonne.
And with two minutes remaining Robert Ebersohn sealed it, running in his side's third try.
Tries: Géli, Qera, Ebersohn
Cons: Lucas 3
Pens: Lucas 2
Drop goals: Trinh-Duc 2
Yellow cards: Timani
Pens: Fernandez 2, Bustos Moyano
Yellow cards: Fa'aoso, Gayraud
Montpellier: 15 Ben Lucas, 14 Lucas Dupont, 13 Anthony Tuitavake, 12 Robert Ebersohn, 11 Yohann Artru, 10 François Trinh-Duc, 9 Benoît Paillaugue, 8 Akapusi Qera, 7 Antoine Battut, 6 Fulgence Ouedraogo, 5 Sitaleki Timani, 4 Tom Donnelly, 3 Pat Cilliers, 2 Charles Geli, 1 Mikheil Nariashvili
Replacements: 16 Mickaël Ivaldi, 17 Yvan Watremez, 18 Robins Tchale-Watchou, 19 Ben Mowen, 20 Kélian Galletier, 21 Jonathan Pelissié, 22 Albert Vulivuli, 23 Chris King
Bayonne: 15 Scott Spedding, 14 Joe Rokocoko, 13 Gabiriele Lovobalavu, 12 Matthieu Ugalde, 11 Marvin O'Connor, 10 Santiago Fernandez, 9 Guillaume Rouet, 8 Charles Ollivon, 7 Lisiate Fa'aoso, 6 Jean Monribot, 5 Mark Chisholm, 4 Dewald Senekal, 3 Gert Muller, 2 Anthony Etrillard, 1 Lucas Pointud
Replacements: 16 David Roumieu, 17 Aretz Iguiniz, 18 Pierre Gayraud, 19 Jean-Jo Marmouyet, 20 Christophe Loustalot, 21 Bastien Fuster, 22 Martin Bustos Moyano, 23 Nicolas Chocou
Referee: Pascal Pechambert
Toulouse 67-19 Brive
Stade Ernest Wallon, Toulouse
Yoann Huget's hat-trick helped Toulouse to a crushing win over Brive as they boosted their hopes of an automatic semi-final berth.
Playing ball in hand and constantly making ground, Toulouse were far too good for their visitors, and ran in nine tries in total.
Toulouse flew out of the blocks with Huget crossing twice in two minutes in the opening quarter. The first came after an extended period of pressure, before he stepped past Gaetan Germain for solo second.
Germain had earlier given Brive the lead, but after Huget's double and Toby Flood penalty, Toulouse led 17-3.
They added a third try through Corey Flynn on 20 minutes, the former All Black hooker emerging after a powerful rolling maul, but Germain cut the deficit with his second penalty.
The next try for Toulouse came after a powerful burst by Yann David, brushing off a number of tacklers before feeding Maxime Médard for the try.
Flood converted once more, making it 32-6, but Brive finally produced a response when skipper Arnaud Méla went over after a long period in the Toulouse 22.
It was the home side who had the final word of the half however, with Flood knocking over his second penalty on the stroke of half-time.
Early in the second half Germain added two more long-range penalties to cut the deficit to 32-19, before Médard added Toulouse's fifth try.
Sébastien Bézy created it, with a dart around the fringe and while he couldn't go all the way himself, Médard was on his shoulder to stroll over. Flood converted again for Toulouse.
Brive's task got harder on the hour mark when they lost François Da Ros was sin-binned for a trip on Bézy.
Germain soon followed after another Brive infringement, and against 13 men, Toulouse cut loose, with Schalk Ferreira and then Louis Picamoles going over.
And there was still time for Huget to complete his hat-trick in the final seconds, with Flood converting before scoring a try of his own, converting both.
Tries: Huget 3, Flynn, Médard 2, Ferreira, Picamoles, Flood
Cons: Flood 8
Pens: Flood 2
Pens: Germain 4
Yellow cards: Da Ros, Germain
Toulouse: 15 Maxime Médard, 14 Vincent Clerc, 13 Yann David, 12 Luke Mcalister, 11 Yoann Huget, 10 Toby Flood, 9 Sebastien Bézy, 8 Gillian Galan, 7 Imanol Harinordoquy, 6 Thierry Dusautoir, 5 Patricio Albacete, 4 Joe Tekori, 3 Census Johnston, 2 Corey Flynn, 1 Gurthro Steenkamp.
Replacements: 16 Julien Marchand, 17 Schalk Ferreira, 18 Yoann Maestri, 19 Louis Picamoles, 20 Jano Vermaak, 21 Florian Fritz, 22 Timoci Matanavou, 23 Neemia Tialata
Brive: 15 Gaeten Germain, 14 Alfie MafiGuillaume Namy, 13 Riaan Swanepoel, 12 Andrew Ma'ilei, 11 Malakai Bakaniceva Radikedike, 10 Nicolas Bézy, 9 Jean-Baptiste Péjoine, 8 Kieran Murphy, 7 Saïd Hirèche, 6 Dominiko Waqaniburotu, 5 Arnaud Mela, 4 Peet Marais, 3 Giorgi Jgenti, 2 Thomas Acquier, 1 Karien Asieshvili
Replacements: 16 Francois Da Ros, 17 Johan Coetzee, 18 Fabian Sanconnia, 19 Poutasi Luafutu, 20 Damien Neveu, 21 Arnaud Mignardi, 22 Guillaume Namy, 23 Damien Jourdain
Referee: Laurent Cardona