Saracens will contest the European Champions Cup final next month after beating Wasps in a pulsating semi-final at the Madejski Stadium.
Dan Robson got Wasps off to a flyer, touching down in the second minute, but Michael Rhodes hit back after sustained Saracens pressure to give Saracens an 8-7 lead.
Owen Farrell’s boot and a penalty try put Saracens 14 points ahead with ten minutes to play, meaning an Ashley Johnson score for Wasps with five minutes to go was in vain and the Aviva Premiership Rugby leaders ran out the winners.
Wasps got off to a flyer with Robson touching down in the right corner after a lightning break from in-form Christian Wade on the right wing, after just 76 seconds.
Robson still had some work to do but stepped outside the Saracens defender and Richard Wigglesworth could not stop the Wasps scrum-half crossing, Jimmy Gopperth adding the extras.
Saracens looked to hit back straight away and had a period of concerted pressure in Wasps territory, beginning after they were penalised for collapsing a scrum.
Shortly after ten minutes the designated home side turned down a kick at the posts before winning another penalty that Farrell pulled left of the uprights.
Duncan Taylor thought he had scored in the 18th minute but Chris Ashton was penalised for barging Frank Halai as he attempted to ground the ball and Wasps’ lead remained intact.
Saracens were on the scoreboard ten minutes later though as their pressure finally told.
Rhodes charged down a Gopperth kick from his 22 and collected the ball himself to dive over for the score, Farrell was again wayward though.
Billy Vunipola was dominating the Wasps defence with a series of powerful carries and Saracens continued to attack but their opposition’s back line stood firm until after the 40 minutes.
Wasps conceded another penalty, this time in front of the posts and Farrell could not miss, giving his side a slender 8-7 lead at half-time.
The European player of the year nominee was back in business two minutes into the second half, drilling a straight penalty from close to the half way line to extend Saracens’ lead.
Wasps’ ill discipline at the breakdown was costing them and six minutes into second half Farrell punished them with another penalty to give Saracens a seven-point lead.
Farrell was then sent to the sin-bin for a high tackle on Robson and the scrum-half had to be taken from the field on a stretcher before Gopperth slotted the resultant penalty.
Wade lit up the game just before the hour but his run from inside his own 22 was stopped just before the Wasps 22 and the move eventually came to nothing.
Dai Young’s side did not make use of the man advantage and Farrell’s first action when returning to play was to kick a penalty, but he could only pull it wide.
As dominant as Vunipola was with ball in hand, the Saracens second row were at the lineout and they stole their third Wasps throw with 15 minutes to go, setting up possession in their opponents’ half.
With 12 minutes to go Saracens were given a boost as substitute Simon McIntyre was sent to the sin bin for an off-the-ball incident with Maro Itoje.
Farrell kicked the resulting penalty and Saracens lead by seven points with ten minutes to go.
The game was then put beyond Wasps in the 74th minute as they conceded a penalty try for collapsing a maul when Saracens were driving for the right corner, Farrell then did the honours.
Wasps were not dead though and Johnson drove over with five minutes remaining, Gopperth adding the extras, to reduce the gap to just seven again.
It was too little too late though and Saracens held out to make their second European final in four years.
Saracens: Goode, Ashton, Taylor, Barritt, Wyles, Farrell, Wigglesworth (de Kock 76), M Vunipola, Brits (Saunders 74), du Plessis (Lamositele 76), Itoje, Kruis, Rhodes (Wray 62), Fraser, B Vunipola
Replacements: Barrington, Hamilton, Hodgson, Bosch
Tries: Rhodes, Penalty Try
Penalties: Farrell 4
Wasps: Piutau, Wade, Daly, Piutau, Halai, Gopperth, Robson (Simpson 52), Mullan (McIntyre 61), Festuccia (Johnson 70), Cittadini (Swainston 67), Launchbury, Davies, Haskell (Young 61), Smith, Hughes (Jones 70)
Replacements: Jackson, Miller
Tries: Robson, Johnson
Conversions: Gopperth 2
Referee: Romain Poite