Saracens 30 (18)
Saracens' Thomas Castaignade is thwarted by Bath's tackling
Tries: Penney 2, Scarbrough 2
Cons: Jackson 2
Pens: Jackson 2
Bath 31 (28)
Tries: Beattie, Grewcock, Bory, Berne
Cons: Barkley 4
Bath defied their lowly Premiership status to upset Saracens and reach the European Challenge Cup final.
Sarries opened the scoring but Bath then forged in front, leading 21-8 at one stage in the first half.
Trailing 18-28 at half-time, Saracens stepped up the pressure on a hot day at Vicarage Road and two Dan Scarbrough tries left them just a point adrift.
But Bath, for whom Olly Barkley kicked five from five, managed to hold on for a famous victory.
The home side, for whom Rodd Penney had touched down twice in the first half, had tries from Neil de Kock and Kris Chesney disallowed in a tense final quarter.
Bath, who are third from bottom in the Premiership, will now play Clermont Auvergne in the final.
Saracens director of rugby Alan Gaffney:
"We made more than our fair share of mistakes and lost the game. You can't gift that many tries and stay in the game.
"Our defence is among the best in the Premiership so to do what we did in the first half was abysmal.
"This result is extremely disappointing as far as we're concerned. We set ourselves the goal of winning this competition.
"We were in a position to do that but we didn't play the way we wanted and made some schoolboy errors and you can't do that against Premiership side.
"We improved in the second half but the horse had bolted. We got the result we deserved."
Bath head coach Steve Meehan:"It was a show of desire at wanting to be in the final.
"Saracens executed very well and put us under a lot of pressure but the guys scrambled and worked really hard for each other.
"It was one of those games where defence wins you matches, but we were quite positive in attack as well."
Saracens: Castaignede, Scarbrough, Penney, Sorrell, Farrell, Jackson, De Kock, Lloyd, Byrne, Viasagie, Chesney, Vyvyan, Raiwalui, Hill, Skirving.
Replacements: Cairns, Johnston, Fullarton, Seymour, Dickens, Powell, De Vedia.
Bath: Maddock, Cheeseman, Fuimaono-Sapolu, Barkley, Bory, Berne, Walshe, Barnes, Mears, Stevens, Borthwick, Grewcock, Beattie, Lipman, Feaunati
Replacements: Dixon, Ovens, Short, Scaysbrook, Williams, Stephenson, Walker.