Leinster clinched their place in the Heineken Cup final with a thrilling win over Toulouse at the Aviva Stadium.
Florian Fritz scored a fortuitous early try for the French giants, David Skrela kicking eight points before half-time.
But the Irish province led 16-13 at the interval after three Jonathan Sexton penalties and Jamie Heaslip's try.
A Louis Picamoles try on the resumption put Toulouse ahead but two more Sexton penalties and Brian O'Driscoll's try on the hour put Leinster in command.
Replacement fly-half Nicolas Bezy kicked a penalty for Toulouse with four minutes left to make it 29-23 but Sexton's last-minute penalty sealed a thoroughly deserved win for the 2009 champions.
The match turned out to be a bruising encounter as Leinster avenged last year's semi-final loss to the same opponents in France.
Joe Schmidt's side twice came from behind to show their class in an absorbing second half, using their physicality up front to knock Toulouse off their stride and progress to their second Heineken Cup final in three years.
Toulouse raced into an early lead when Fritz touched down under the posts in the fifth minute.
A Skrela penalty rebounded off the left-hand upright and Fritz reacted quickly to touch down after the ball took a wicked bounce over the head of O'Driscoll. Skrela added the conversion.
Sexton reduced the Irish province's deficit with a 10th-minute penalty but a wonderfully executed Skrela drop-goal two minutes later restored Toulouse's advantage.
Man-of-the-match Heaslip scored his ninth Heineken Cup try after half an hour when he completed a fine move which included 17 phases, his outstretched arm reaching the line amid a pile of bodies.
The number eight bulldozed his way through the Toulouse defence and and touched the ball down with his fingertips, Sexton converting after television match official Graham Hughes had confirmed the score.
O'Driscoll was yellow-carded for coming in on the wrong side of a ruck a few metres out in the 36th minute and fly-half Skrela knocked over the resulting penalty to level the scores.
But an injury-time penalty by Sexton, awarded for an infringement by Argentine lock Patricio Albacete, made it 16-13 to Leinster at half-time.
Toulouse were quick out of the blocks in the second half, Cedric Heymans putting in a brilliant grubber kick through for Vincent Clerc, who was unable to control the bobbling ball with the try-line at his mercy.
But tive minutes after the break the defending champions made good ground from a scrum, scrum-half Jean-Marc Doussain bouncing through his Leinster counterpart Eoin Reddan and offloading to Picamoles, who dived over unopposed.
Replays showed Yannick Nyanga holding Sean O'Brien back off the ball, but the score stood and Skrela tagged on the extras.
Sexton responded with two successful penalties to nudge the 2009 champions ahead at 22-20.
O'Driscoll crossed the Toulouse line for Leinster's second try on the hour.
Sexton gathered a loose ball and took contact before replacement Isaac Boss passed for O'Driscoll to slip by Clerc and Census Johnston for his 30th Heineken Cup try, two short of Clerc's record.
Sexton's conversion put nine points between the sides at 29-20 and Toulouse's title was slipping from their grasp.
Replacement Bezy landed a penalty from just inside the Leinster half but Sexton completed a fine kicking display by knocking over his sixth penalty in the final minute to complete a 22-point personal haul.
Leinster will now have the chance to reclaim their place at the top of the European pedestal when they take on the winners of Sunday's semi-final between Northampton and Perpignan at Cardiff's Millennium Stadium on 21 May.
Leinster: I Nacewa; S Horgan, B O'Driscoll, G D'Arcy, L Fitzgerald; J Sexton, E Reddan; C Healy, R Strauss, M Ross, L Cullen (captain), N Hines, K McLaughlin, S O'Brien, J Heaslip.
Replacements: J Harris-Wright, H Van Der Merwe for Healy (53), S Wright for Ross (74), D Toner, S Jennings for McLaughlin (53), I Boss for Reddan (53), I Madigan, F McFadden for Fitzgerald (57).
Not used: Harris-Wright, Toner, Madigan.
Toulouse: C Heymans; V Clerc, F Fritz, C Poitrenaud, M Medard; D Skrela, J Doussain; J-B Poux, W Servat, C Johnston, Y Maestri, P Albacete, J Bouilhou (captain), Y Nyanga, L Picamoles.
Replacements: V Lacombe for Servat (78), D Human for Poux (46), J Falefa for Johnston (68), T Dusautoir for Nyanga (46), N Bezy for Skrela (68), Y Jauzion for Fritz (61), S Sowerby for Picamoles (65), G Lamboley for Maestri (61)
Referee: Dave Pearson (RFU)