Northampton 13 (13)
Paul Sackey gave a man-of-the-match performance
Pens: Reihana 2.
Wasps 30 (8)
Tries: Sackey 2, Haskell, Lewsey.
Cons: Van Gisbergen.
Pens: Van Gisbergen 3.
Wasps produced a superb second-half performance to thwart defiant Northampton and reach their second Heineken Cup final.
Northampton started ferociously and a try, conversion and two penalties from Bruce Reihana put them 13-0 ahead.
Wasps hit back with a Paul Sackey try and were irresistible after the break, with Sackey crossing in-between efforts from James Haskell and Josh Lewsey.
They now take on Leicester in the Heineken Cup final on 20 May.
It is the first all-English final in the history of the competition and will have major implications for the national side.
Elite director of rugby Rob Andrew has already said any player taking part will not be considered for the first Test against South Africa on 26 May.
As Wasps and Leicester provided the entire pack for England's final Six Nations match against Wales last month, this will be a major blow for coach Brian Ashton.
Meanwhile, Northampton must now concentrate on trying to secure their Premiership survival by beating London Irish in their last match of the season.
Saints belied their lowly league position at the Ricoh Arena by making a powerful and aggressive start to the game.
After just four minutes, they stunned their opponents with an outstanding long-range try.
Sean Lamont was the catalyst, breaking between Danny Cipriani and Dominic Waldouck from inside his own half before offloading to Robbie Kydd.
Kydd lacked the pace to score but managed to lay the ball back and Carlos Spencer sent Reihana over in the corner with a beautiful over-the-shoulder pass.
Wayward goalkicking has been one of Northampton's biggest problems throughout the season, yet Reihana converted from near the touchline before adding two more tricky penalties.
Wasps had come into the match as strong favourites and they inevitably came back into the match.
Cipriani, again playing at fly-half in place of the injured Alex King, should have scored in the corner after 23 minutes.
Yet the teenager was slightly lackadaisical and touched the line with the ball when he went over.
Eleven minutes later, Sackey showed his team-mate how he should have done it, with a ruthless and clinical score.
Lewsey scored after coming on as a substitute
The prolific winger skilfully juggled a tricky pass from Eoin Reddan to go over in the corner from close range.
Wasps started the second half as they had finished the first.
Northampton were warned for persistently killing the ball and referee Alan Lewis eventually lost his patience and sin-binned Ben Lewitt within nine minutes of the restart.
Mark van Gisbergen scored from the resultant penalty and Wasps continued to pile forward.
Lawrence Dallaglio's final decision before being substituted for James Haskell was to decide to kick for touch.
From the resultant line-out Wasps set up a driving maul and Haskell lunged over the top to touch down.
Man-of-the-match Sackey then killed the game off 10 minutes from the end. Gathering a short pass from Lewsey near the touchline, the wing danced round two tacklers to score under the posts.
Wasps were then awarded a penalty after Lewitt thumped his knee into the side of the prone Sackey's head and Lewsey made the scoreline even more emphatic with a late try.
Wasps: M van Gisbergen, P Sackey, F Waters, D Waldouck, T Voyce, D Cipriani, E Reddan, P Vickery, R Ibanez, P Bracken, S Shaw, T Palmer, J Worsley, T Rees, L Dallaglio.
Replacements: J Lewsey for D Cipriani (72), M McMillan for E Reddan (79), J Ward for R Ibanez (68), N Adams for P Bracken (47), D Leo for J Worsley (78), J Haskell for L Dallaglio (58).
Northampton: B Reihana, S Lamont, J Clarke, R Kydd, B Cohen, C Spencer, M Robinson, T Smith, M Cortese, J Brooks, D Browne, C Short, P Tupai, B Lewitt, D Browne.
Replacements: P Diggin for J Clarke (76), J Howard for M Robinson (78), S Tonga'uiha for T Smith (73), C Labit for D Browne (61), D Gerard for D Browne (60).
Sin Bin: Lewitt (49).
Referee: Alan Lewis (Ireland).