Exeter ground down free-running, fast-starting Toulouse to make their first Champions Cup final with a hard-earned victory at Sandy Park.
The French champions began well with a couple of Thomas Ramos penalties to show for their early dominance.
But Exeter dug in and close-range tries from Harry Williams and Sam Simmonds gave them a narrow half-time lead.
After a second try from Williams, Joe Simmonds waltzed in to ensure Matthis Lebel's try would not alter the result.
Exeter's players leapt in delight at the final whistle with only the shouts from their backroom staff and fellow squad members echoing around the empty Sandy Park stands.
Exeter will play French side Racing 92 at Bristol's Ashton Gate on Saturday 17 October in a final that will ensure a new name on the trophy.
Toulouse have already won the tournament four times, their first title coming in the same year that Exeter were in the fourth tier of English rugby.
Initially it appeared that Toulouse's pedigree would trump Exeter's ambition, with the French side's rapidfire recycling and skilful off-loading putting the hosts on the back foot.
But gradually Exeter imposed their trademark forward power on a Toulouse pack that was bigger on bulk than stamina.
Williams' first try came after impressive wing Tom O'Flaherty burst through to put Toulouse into retreat.
The visitors responded shortly after with replacement Alban Placines crossing at the end of a sweeping attack, but Sam Simmonds barged through on the stroke of half-time to give Exeter a lead they never gave up.
When Simmonds' brother Joe threw a dummy and scampered for a converted try that made it 28-11 on 70 minutes the celebrations could start in earnest.
Exeter: Hogg, Nowell, Slade, Whitten, O'Flaherty, J. Simmonds, J. Maunder, Hepburn, Cowan-Dickie, Williams, Gray, Hill, Ewers, S. Skinner, S. Simmonds.
Replacements: Devoto for Whitten (67), Hidalgo-Clyne for J. Maunder (62), Moon for Hepburn (67), Yeandle for Cowan-Dickie (62), Francis for Williams (62), Armand for Gray (67), Dennis for S. Skinner (77).
Not Used: Steenson.
Toulouse: Ramos, Huget, Guitoune, Ahki, Kolbe, Ntamack, Dupont, Baille, Marchand, Faumuina, R. Arnold, Tekori, Kaino, Cros, Tolofua.
Replacements: Placines for Arnold (23), Lebel for Huget (62), Holmes for Kolbe (67), Bales for Dupont (72), Neti for Baille (62), Mauvaka for Marchand (62), Aldegheri for Faumuina (51), Madaule for Tekori (67).