Bath will face Northampton Saints in this season's Amlin Challenge Cup Final after they overpowered London Wasps 24-18 at Adams Park on Sunday.
Two tries from driving mauls told a story of the match as Bath's immense forward pack played a key role in who won this entertaining semi-final.
Former Wasps hooker Rob Webber picked up a brace after tighthead prop Anthony Perenise had opened the try account for Bath in the 24th minute.
That score came after Andy Goode and George Ford traded kicks before the former put Wasps 6-3 in front before the end of the first quarter.
But then the power of the visiting forwards came to the fore as prop Perenise was at the tail of a driving maul, with Ford's extras making it 10-6.
Wasps hit back right on the hooter though when England hopeful Elliot Daly raced around Tom Varndell, setting up Will Helu for a well-taken run in. That converted score made it 10-13 to the home side, who would have headed into the dressing rooms with their tails up as they bounced back in a mature manner.
Dai Young's side thought they had moved further in front four minutes after the resumption only for Kearnan Myall being denied a try as replays had shown prop Matt Mullan's pass to the lock was forward. And it would soon prove to be an error that would be dwarfed in size.
Wasps handed Bath their second try of the contest from that aforementioned mistake as Carlo Festuccia's over-throw five metres from his own line saw Webber collect and dive over, with his second coming ten minutes later from another maul, making it 24-13.
However, it was not to be plain sailing for the visitors in the closing stages as Wasps flank Ashley Johnson's own drive over score on the left wing made it 18-24 before Bath centre Kyle Eastmond lifted the legs in a tackle which meant they would see out the game with fourteen men. They survived and deservedly now head to Cardiff Arms Park for the final.
Tries: Helu, Johnson
Pen: Goode 2
Tries: Perenise, Webber 2
Con: Ford 3
Yellow: Eastmond (75 mins - illegal tackle)
Wasps: 15 Andrea Masi, 14 Will Helu, 13 Elliot Daly, 12 Chris Bell (c), 11 Tom Varndell, 10 Andy Goode, 9 Joe Simpson, 8 Nathan Hughes, 7 James Haskell, 6 Ashley Johnson, 5 Kearnan Myall, 4 Joe Launchbury, 3 Phil Swainston, 2 Carlo Festuccia, 1 Matt Mullan.
Replacements: 16 Tom Lindsay, 17 Simon McIntyre, 18 Taione Vea, 19 Tom Palmer, 20 Sam Jones, 21 Charlie Davies, 22 Joe Carlisle, 23 Charlie Hayter.
Bath: 15 Nick Abendanon, 14 Semesa Rokoduguni, 13 Jonathan Joseph, 12 Kyle Eastmond, 11 Matt Banahan, 10 George Ford, 9 Peter Stringer, 8 Leroy Houston, 7 Guy Mercer, 6 Matt Garvey, 5 Dominic Day, 4 Stuart Hooper (c), 3 Anthony Perenise, 2 Rob Webber, 1 Nathan Catt.
Replacements: 16 Ross Batty, 17 Paul James, 18 David Wilson, 19 Alafoti Fa'osiliva, 20 Carl Fearns, 21 Micky Young, 22 Gavin Henson, 23 Anthony Watson.
Referee: Romain Poite (France)
Assistant referees: Jérôme Garcès (France), Pascal Gauzère (France)
Television match official: Eric Gauzins (France)