Toulouse will meet Leinster or La Rochelle in the 2021 Heineken Champions Cup final after overcoming Bordeaux-Begles 21-9.
Matthis Lebel scored an early try and Antoine Dupont another late on as the hosts securing a seventh appearance in the final, their first since 2010.
Bordeaux took the lead in the third minute through a Matthieu Jalibert penalty with Lebel crossing the line two minutes later to make it 5-3.
Another Jalibert penalty put the visitors back. A Romain Ntamack penalty ensured it was Toulouse with ahead at half-time as they led 8-6.
Toulouse extended their advantage as Ntamack adding further penalties in the 45th and 64th minutes.
Jalibert subsequently brought it back to a one-score game with a 68th minute penalty.
But the gap soon widened again as Dupont crossed with eight minutes remaining, Ntamack adding the conversion to seal the 21-9 victory.
Toulouse will now face the winners of Sunday's clash between La Rochelle and Leinster in a showdown at Twickenham on May 22.