Stade Français defeated champions Toulon 33-16 in Bordeaux on Friday to progress to the Top 14 final.
Bakkies Botha's final competitive rugby match ended in defeat, as former teammate Morné Steyn top-scored with 18 points to help Stade complete a season-treble over favourites Toulon.
The results sees Stade making their first appearance in the French showpiece for the first time since 2007 and Toulon missing out on a fourth successive final.
The opening exchamges were frenetic and after 30 minutes the sides remained deadlocked at 13-13, with a converted try and two penalty goals apiece. A wonderful solo try by flank Antoine Burban edged the visitors in front on the stroke of half-time.
Wing Drew Mitchell benefited from Juan MartÍn Hernández's well-weighted chip kick and gave Toulon the lead with a converted try. But his effort was cancelled out by blindside flank Raphaël Lakafia, who took an exquisite behind-the-back pass from Sergio Parisse. Leigh Halfpenny and Steyn then went head-to-head off the kicking tee, both adding two penalties (and missing two), before Burban's intervention put Stade in the ascendancy.
The kickers traded penalties at the resumption, but Stade took control of the match with Toulon losing steam as the match progressed. Steyn gave Stade a 10-point cushion with his fourth penalty in the 71st minute.
With time up on the clock, the Bok flyhalf missed another kick at goal, and believing they could still salvage something, Mitchell tried to run from their tryline. The ball was lost in contact and Stade winger Julien Arias picked up and dived over to cap off a powerful performance from the Parisian club.
The winners will face Clermont or Toulouse in next weekend's final.
Toulon – Try: Drew Mitchell. Conversion: Leigh Halfpenny. Penalties: Halfpenny (3).
Stade Français – Tries: Raphael Lakafia, Antoine Burban, Julien Arias. Conversions: Morné Steyn (3). Penalties: Steyn (4).
Toulon – 15 Leigh Halfpenny, 14 Drew Mitchell, 13 Mathieu Bastareaud, 12 Juan MartÍn Hernández, 11 Bryan Habana, 10 Matt Giteau, 9 Sebastien Tillous-Borde, 8 Chris Masoe, 7 Steffon Armitage, 6 Juan Smith, 5 Ali Williams, 4 Bakkies Botha, 3 Carl Hayman (c), 2 Guilhem Guirado, 1 Xavier Chiocci.
Subs: 16 Jean-Charles Orioli, 17 Alexandre Menini, 18 Jocelino Suta, 19 Juan MartÍn Fernández Lobbe, 20 Maxime Mermoz, 21 Delon Armitage, 22 Michael Claassens, 23 Martin Castrogiovanni.
Stade Français – 15 Djibril Camara, 14 Julien Arias, 13 Waisea Vuidravuwala, 12 Jonathan Danty, 11 Jeremy Sinzelle, 10 Morné Steyn, 9 Julien Dupuy, 8 Sergio Parisse (c), 7 Raphaël Lakafia, 6 Antoine Burban, 5 Alexandré Flanquart, 4 Hugh Pyle, 3 Rabah Slimani, 2 Remi Bonfils, 1 Heinke van der Merwe.
Subs: 16 Laurent Sempere, 17 Zak Taulafo, 18 Pascal Papé, 19 Jono Ross, 20 Julien Tomas, 21 Meyer Bosman, 22 Geoffrey Doumayrou, 23 Davit Kubriashvili.
Photo: Romain Perrocheau/AFP Photo