Toulouse took advantage of defeats for a number of sides further down the Top 14 table as they sealed a top-two spot.
A 21-20 victory away at fourth-placed Castres took Toulouse out of reach of Lyon, who are third and were beaten by Agen, while Racing 92 also lost against Pau on Saturday.
Castres were dominant against league leaders Toulouse but fell foul of Thomas Ramos' kicking, as seven penalties – including two in the final 10 minutes – secured a dramatic Toulouse win.
Lyon fell 19 points behind top spot with three games remaining after they lost 25-15, with both of their tries coming in the closing stages of a disappointing match.
Facundo Bosch, Antoine Miquel and Leo Berdeu went over for Agen.
Pau held on to edge Racing 29-27 after an early flurry, with the dismissal of second try scorer Watisoni Votu 18 minutes from time putting his side under pressure.
Votu had scored a fine effort to put his side in complete control after 16 minutes, but saw red for a high tackle on Teddy Iribaren before Virimi Vakatawa's double almost completed a remarkable fightback.
Elsewhere, there were big wins for La Rochelle and Montpellier in Saturday's other games.
La Rochelle scored seven of the 11 tries in their clash with Perpignan, prevailing 51-29, while Louis Picamoles crossed twice for Montpellier as they saw off Grenoble 47-12.