Toulouse struggled to contain Stade in the first half, but then pounded them up front and mesmerised them out back to secure a Heineken Cup semi-final meeting with Leinster.
Rodrigo Roncero’s try put Stade in front, but on the stroke of half-time Yannick Jauzion went over to give the home side the lead 13-10.
The teams traded penalties after the break but Patrice Albacete converted a sweeping move as Toulouse took charge. Stade conceded penalties as the pace of the game got away from them and Jauzion punished them before Cedric Heymans finished yet another sweeping move to bring us to the final score of:
Tries: Jauzion, Albacete, Heymans Cons: Skrela (3) Pens: Skrela (7)
Tries: Roncero Cons: Beauxis Pens: Beauxis (3)
Toulouse: Poitrenaud, Clerc, Fritz, Jauzion, Heymans, Skrela, Kelleher, Poux, Servat, Lecouls, Millo-Chluski, Albacete, Bouilhou, Dustautoir, Picamoles.
Replacements: Lacombe, Human, Johnston, Sowerby, Maestri, Bezy, Medard, Lamboley.
Stade Francais: Southwell, Arias, Bastareaud, Gasnier, M. Bergamasco, Beauxis, Oelschig, Roncero, Szarzewski, Marconnet, Palmer, Pape, Burban, Rabadan, Leguizamon.
Replacements: Kayser, Slimani, Gerber, Marchois, Taylor, Tardy, Mieres, Messina.
Referee: A Lewis (Ireland)