Toulouse, playing in their tenth semi-final in the 16-year-old competition, raced into an early 7-0 lead thanks to a converted Florian Fritz try while David Skrela kicked eight points in the first half.
But Leinster rallied and Sexton kicked 11 points and Heaslip went over to hand the hosts a slender 16-13 lead at the interval, despite seeing O'Driscoll sin-binned just before the break.
With their numerical advantage, Toulouse took the lead when No.8 Louis Picamoles crossed shortly after the break but Leinster came back once again through two Sexton penalties.
O'Driscoll then went from villain to hero, finishing off a period of concerted pressure for Leinster and Toulouse were up against it, trailing 29-20 with 20 minutes remaining.
Toulouse replacement Nicolas Bezy was on target with a long-range penalty to give the French side hope but despite knocking on the Leinster door, last year's winners could find no way through, before Sexton kicked his sixth penalty to finish off a famous victory.
"They played some amazing rugby and we didn't play our best. But no guts, no glory," said man-of-the-match Heaslip.
"We have a lot of leaders in that team and that showed in the final minutes. We were just focusing on doing the little jobs, the little details.
"We'll have to be on top of our game to compete in the final and win this competition."