Bryan Habana's try and six penalties from Éric Escande were enough for Toulon to defeat Top 14 champions Stade Français 23-16.
Morné Steyn scored all of Stade's points including a try in the second half, and it was the Springbok's boot which opened the scoring with a penalty in the fourth minute.
Steyn couldn't convert a second attempt not long after shortly before Toulon scored the opening try through Habana.
Rounding off an excellent team move, Escande's pace did the early damage before Quade Cooper and Ma'a Nonu combined to release the winger to score.
Escande couldn't convert and it wasn't until the 31st minute that either side added more points, the scrum-half slotting a penalty from 40 metres out.
Xavier Chiocci was penalised at the scrum shortly before half-time to allow Steyn to close the gap, only for a high tackle on Escande to set the scrum-half up for another penalty to make it 11-6 at the break.
A third Escande penalty extended the lead but after Waisea Nayacalevu was denied a try by the TMO when he failed to ground the ball, Steyn chipped back with three more points.
Stade then went ahead for the first time after Nayacalevu intercepted a loose pass, running down the touchline before finding Steyn on his inside who went past two defenders to score – his conversion giving Stade a 14-16 lead.
Two quick penalties within three minutes however from Escande restored Toulon's advantage and with his sixth three-pointer Toulon were up 23-16.
Tom Taylor's drop goal came back off the right post, with Jules Plisson also missing a kick late on as the hosts triumphed.
Pens: Escande 6
Pens: Steyn 3
Toulon: 15 Drew Mitchell, 14 Josua Tuisova, 13 Mathieu Bastareaud, 12 Ma'a Nonu, 11 Bryan Habana, 10 Quade Cooper, 9 Éric Escande, 8 Duane Vermeulen, 7 Steffon Armitage, 6 Mamuka Gorgodze, 5 Romain Taofifenua, 4 Jocelino Suta, 3 Levan Chilachava, 2 Guilhem Guirado, 1 Xavier Chiocci
Replacements: 16 Jean Charles Orioli, 17 Florian Fresia, 18 Thibault Lassalle, 19 Juan Martín Fernández Lobbe, 20 Tom Taylor, 21 James O'Connor, 22 Jonathan Pélissié, 23 Manasa Saulo
Stade Français: 15 Djibril Camara, 14 Waisea Nayacalevu, 13 Geoffrey Doumayrou, 12 Paul Williams, 11 Jérémy Sinzelle, 10 Morné Steyn, 9 Julien Tomas, 8 Jono Ross, 7 Raphaël Lakafia, 6 Sylvain Nicolas, 5 Alexandre Flanquart, 4 Hugh Pyle, 3 Paul Alo-Emile, 2 Craig Burden, 1 Heinke van der Merwe
Replacements: 16 Laurent Panis, 17 Zak Taulafo, 18 Pascal Papé, 19 Antoine Burban, 20 Clement Daguin, 21 Jules Plisson, 22 Julien Arias, 23 Rabah Slimani
Referee: Jérôme Garcès
Assistant Referees: Mathieu Raynal, Eric Soulan
TMO: Hervé Dubes