The LV= Cup final will be an all-English affair after Northampton eased past Saracens 31-20 in a clincial win at Franklin's Gardens on Sunday.
With Gloucester having already booked their place as one of the last two thanks to an away win over Cardiff Blues, Saints turned on the style as Phil Dowson, Brian Mujati, Paul Diggin and Neil Best crossed for the hosts.
The victory means that Northampton remain very much in contention to lift the Guinness Premiership, Heineken Cup and of course LV= Cup silverware.
Saints were only 14-12 up at half-time, courtesy of Dowson's try and Shane Geraghty's three penalties, but they pulled clear after the break with their other three scorers going over.
Out-of-form Saracens battled gamely but were destroyed at scrum time and rarely came close to Saints' line.
Their points came through five penalties, four to fly-half Derick Hougaard and the other to his replacement Glen Jackson, and Justin Melck's late try.
Northampton will play their fifth domestic cup final - they have not won one yet - and will fancy their chances at Worcester's Sixways stadium, with Gloucester 20 points below them in the Guinness Premiership table.
Sarries came a cropper at Franklin's Gardens in the competition's group stages, one of 19 successive wins Saints have now earned on this ground since February 2009.
The London side were also coming into the game on the back of a three-match losing run in the Guinness Premiership but they did not lack belief in an attritional first half which was dominated by the boot.
Much to the chagrin of the crowd, South African fly-half Hougaard attempted drop goals whenever he was anywhere in space in opposition territory, the first of a handful of early efforts coming within 30 seconds. That one, like the rest, failed.
He was more successful with a fourth-minute penalty but Saints replied with a well-worked try, initiated by long-bursting prompts by Jon Clarke and Juandre Kruger and finished off from close range by Dowson down the left channel.
Hougaard missed a second penalty attempt but landed two more in the space of four minutes to put Saracens 9-5 up after 19 minutes.
The visitors then saw captain Ernst Joubert disappear to the sin-bin for being offside, with Geraghty booting over the resulting penalty.
Hougaard and Geraghty traded further penalties before the England international landed another, his third of the half, to make it 14-12 seconds before the interval after Saracens prop Richard Skuse was handed 10 minutes in the cooler for lying on the wrong side of a ruck.
Saints made hay while Skuse was briefly off the field with two quick-fire tries early in the second half to kill off any Sarries hopes.
Mujati went over for the first, running onto a looping mis-pass from Bruce Reihana to ground in the corner, the try needing the say-so of the video referee.
Geraghty's superb offload - which appeared slightly forward - then set Chris Ashton free in centre field two minutes later and the England prospect fed fellow wing Diggin to canter over.
The ten missed both attempts - the second one incredulously from in front of the posts - but Saints were 24-12 ahead and seemingly home and hosed.
Embarrassingly, Geraghty then missed another gilt-edged kick at goal from right in front of the sticks, the fly-half scuffing a 55th-minute effort against the crossbar.
It was all the home side, who bossed the scrum all match, but Jackson slotted over a penalty to reduce the gap to 24-15, against the run of play.
However, there was no coming back and Best's 70th-minute try wrapped things up for the dominant hosts.
There was still time for Melck to touch down with five minutes remaining.
By that time, Saints were down to 13 men, with Regardt Dreyer and Kruger in the bin, and Sarries were also a man down with Mouritz Botha having seen yellow at the back end of a fractious encounter.
Tries: Dowson, Mujati, Diggin, Best
Pen: Hougaard 4, Jackson
Northampton: 15 Bruce Reihana, 14 Chris Ashton, 13 Jon Clarke, 12 James Downey, 11 Paul Diggin, 10 Shane Geraghty, 9 Lee Dickson, 8 Roger Wilson, 7 Neil Best, 6 Phil Dowson (c), 5 Juandre Kruger, 4 Ignacio Fernandez Lobbe, 3 Brian Mujati, 2 Brett Sharman, 1 Soane Tonga'uiha.
Replacements: 16 Andy Long, 17 Regardt Dreyer, 18 Jon Vickers, 19 James Cannon, 20 Mark Easter, 21 Alan Dickens, 22 Stephen Myler, 23 Joe Ansbro.
Saracens: 15 Alex Goode, 14 Rodd Penney, 13 Kameli Ratuvou, 12 Brad Barritt, 11 Chris Wyles, 10 Derick Hougaard, 9 Neil de Kock, 8 Ernst Joubert (c), 7 Andy Saull, 6 Jacques Burger, 5 Mouritz Botha, 4 Hayden Smith, 3 Richard Skuse, 2 Schalk Brits, 1 Kasiano Lealamanua.
Replacements: 16 Ethienne Reynecke, 17 Alex Brown, 18 Tom Mercey, 19 Tom Ryder, 20 Justin Melck, 21 Justin Marshall, 22 Glen Jackson, 23 Richard Haughton.
Referee: Romain Poite