Exeter booked an LV= Cup final date with Northampton Saints after coming from behind to beat Bath.
The hosts led 13-8 at the break thanks to Leroy Houston's try and three successful kicks from Tom Heathcote.
Luke Arscott went over for his second try and Fetu'u Vainikolo powered over to turn the game around.
Heathcote landed another penalty and then had the chance to send the match to extra-time but his last minute kick fell short.
The Chiefs will now face Northampton at their Sandy Park home looking to win their first major trophy in their 143-year history.
Prior to Sunday's encounter, Exeter had not beaten Bath since 1978 and got off to a dreadful start in the semi-final when Houston crossed for the game's opening try after just 29 seconds. The Australian going over in the corner after good work from Nick Abendanon and Horacio Agulla before Heathcote added the extras.
Henry Slade landed a penalty to put the visitors on the board before Heathcote landed his second kick.
Bath had Gavin Henson sin-binned for handling the ball at a ruck in his own 22 and the Chiefs capitalised on their numerical advantage when Arscott took an inside pass from Tom James and went over in the corner.
Slade missed the conversion and another penalty chance before Heathcote kicked another three pointer to send the hosts in with a 13-8 lead at the interval.
The Bath fly-half extended their lead with another kick but then presented Arscott with his side's second try when the Exeter full-back got hold of his hopeful chip and raced through a gap in the home defence. Slade kicked the extras to move the visitors within a point.
They were soon in front for the first time when Vainikolo took a pass from Arscott and despite attempted tackles from four Bath defenders ran 55 metres for a fantastic score.
After Slade kicked his second conversion of the day, Heathcote kept up his 100% record from the tee to reduce Exeter's lead to three points.
With the clock at zero he was presented with a kick to send the match to extra-time but his kick fell short as Exeter held out.
Exeter head coach Rob Baxter:
"I'm not going to go around saying 'Oh, it's just another game guys.' We're going to prepare like it's a massive cup game - because that's what it is.
"We're going to enjoy the week and getting ready for it. It's fantastic for our guys to be playing in cup finals. We said right from the start when we got into the Premiership, if we survived and worked hard there would be big games down the line - and this is one of them.
"We'll keep our feet on the ground, though. There weren't masses of celebrations among the players. They realise they have got a very tough game against a very good Northampton side.
"We've scored plenty of tries against Northampton before at Sandy Park and that's what we've got to look to do. It makes us true to ourselves when we go after games and look to score tries."
Bath head coach Mike Ford:
"We wish them good luck in the final. We'll now have a week off to regroup, to get over the knocks and bruises and also to get mentally fresh for what's coming in the rest of the season.
"That team was good enough to win. There were a load of opportunities where we could have created pressure and scored more points but we weren't able to control the ball at crucial periods of the first half.
"Second half, they scored two individual tries which put them on the front foot. Again, we nearly found a way at the end to get a draw. We're not too despondent because we've still got a lot to play for this year in the Amlin Cup and obviously the Premiership, which is massive to us."
Bath: Abendanon, Rokoduguni, Henson, Devoto, Agulla, Heathcote, Roberts, Catt, Guinazu, Orlandi, Hooper, Caldwell, Garvey, Mercer, Houston.
Replacements: Williams for Henson (75), Banahan for Devoto (49), Stringer for Roberts (59), Batty for Guinazu (46), Perenise for Orlandi (46), Louw for Mercer (47). Not Used: Palma-Newport, Gilbert.
Sin Bin: Henson (24).
Exeter: Arscott, Jess, Whitten, Dollman, James, Slade, Lewis, Rimmer, Whitehead, Tui, Mumm, D. Welch, Ewers, B. White, Horstmann.
Replacements: Steenson for Dollman (44), Vainikolo for James (41), L. Cowan-Dickie for Rimmer (59), Brown for Tui (59), Hanks for D. Welch (54). Not Used: Bateman, Scaysbrook, Thomas.
Ref: Tim Wigglesworth (RFU).