Fly-half David Skrela scored 21 points as Toulouse booked a place in the Heineken Cup Final with a 26-16 win over Leinster on Saturday.
Dominant in the set pieces, especially at scrum time, Toulouse outscored their visitors two tries to one as Yannick Jauzion and Skrela both touched down.
Jamie Heaslip's try for Leinster was not enough for the defending champions, who fought back, but fell short.
Toulouse will meet either Biarritz or Munster in the Final at the Stade de France in Paris on May 22.
The champions were defiant until the end but paid the price for leaking two tries to Jauzion and Skrela in the space of four minutes heading into the final quarter.
Man-of-the-match Skrela had the greatest impact on the scoreboard with a sixteen-point kicking haul topped by his superb try, but Toulouse's scrum also did major damage.
Leinster suffered terribly at the set-piece and continued to struggle upon the arrival of South African CJ van der Linde after half an hour.
Van der Linde had replaced Cian Healy - the Ireland prop obviously culpable for the problems in the eyes of coach Michael Cheika - but Toulouse still dominated.
The tournament favourites and three-time winners had the perfect platform to attack while Leinster, whose line-out functioned well, often had to feed off scraps.
Jamie Heaslip's 65th-minute try gave the 4,000 travelling fans brief hope of a revival but that was soon extinguished when Skrela hit a fourth penalty to put Toulouse back in command.
Leinster travelled to France without their Ireland fly-half Jonathan Sexton but Shaun Berne proved a capable deputy, finishing with 11 points in a flawless display with the boot.
Berne was subjected to a physical introduction when Cedric Heymans clattered him into touch amid a thunderous opening from Toulouse that ended with a Skrela penalty.
Using a pair of high kicks from Isa Nacewa and Berne and clever hands from Brian O'Driscoll, Leinster rallied and began asking questions of the home defence.
Centre Florian Fritz replied with a bone-jarring hit on Rob Kearney and then Leinster were driven back 10 metres at a scrum, just moments after their line had been pounded by the Irish.
Skrela kicked a second penalty but Leinster won the tactical jockeying that followed and almost crossed in the 23rd minute when Eoin Reddan jinked his way to the whitewash.
All that was left was to dot the ball down but a double tackle from Byron Kelleher and Vincent Clerc saw the ball slip agonisingly from his fingertips.
Leinster were more creative in attack but were being pulverised at the scrum, hurtling backwards once again to enable Skrela to extend the lead.
The flow of points was stemmed when Berne settled his nerves with a penalty and, after Leinster had scrapped like dogs over a succession of loose balls, he nailed a second on the stroke of half-time.
Maxime Medard had a try ruled out by the television match official three minutes after the interval - his legs were out when he touched down - and it was the visitors who struck next with Berne on target once again
Leinster were attacking the gain line with intent but their scrum disintegrated, though this time Skrela missed the penalty.
Horgan executed a try-saving tackled on Heymans as Toulouse moved through the gears, but the French aristocrats did power over moments later.
Stationed on the Leinster line, their forwards probed until the ball was released to Jauzion who rode tackles from Leo Cullen and Berne to crash over.
Skrela converted and then improved his own try after crossing in 60th minute having spotted a gap between O'Driscoll and Gordon D'Arcy and fired up the afterburners to gallop in under the posts.
Far from caving in, Leinster responded with a magnificent try five minutes later through Heaslip.
Reddan's slashing run was halted inches short of the line but Toulouse were stretched with Nacewa's miss pass to Heaslip enabling the number eight to slide in at the corner with Berne converting.
The fightback was brief, however, as Skrela slotted a fourth penalty to send Toulouse into the final at the Stade de France.
Tries: Jauzion, Skrela
Cons: Skrela 2
Pens: Skrela 4
Pens: Berne 3
Toulouse: 15 ClÃ©ment Poitrenaud, 14 Vincent Clerc, 13 Florian Fritz, 12 Yannick Jauzion, 11 CÃ©dric Heymans, 10 David Skrela, 9 Byron Kelleher, 8 Shaun Sowerby, 7 Thierry Dusautoir (c), 6 Jean Bouilhou, 5 Patricio Albacete, 4 Romain Millo-Chluski, 3 Benoit Lecouls, 2 William Servat, 1 Daan Human.
Replacements:16 Virgile Lacombe, 17 Jean-Baptiste Poux, 18 Yohan Montes, 19 Yoann Maestri, 20 Louis Picamoles , 21 Jean-Baptiste Elissalde, 22 Yann David , 23 Maxime Medard.
Leinster: 15 Rob Kearney, 14 Shane Horgan, 13 Brian O'Driscoll, 12 Gordon D'Arcy, 11 Isa Nacewa, 10 Shaun Berne, 9 Eoin Reddan, 8 Jamie Heaslip, 7 Shane Jennings, 6 Kevin McLaughlin, 5 Nathan Hines, 4 Leo Cullen (c), 3 Stan Wright, 2 John Fogarty, 1 Cian Healy.
Replacements: 16 Bernard Jackman, 17 CJ Van Der Linde, 18 Mike Ross, 19 Malcolm O'Kelly, 20 Stephen Keogh, 21 Paul O'Donohoe, 22 Eoin O'Malley, 23 Girvan Dempsey.
Referee: Nigel Owens