The Steelbacks booked their place at T20 finals day for the third time in four years after mauling Middlesex at the County Ground.
David Ripley’s men claimed a comprehensive seven-wicket win after restricting the away side to just 132 for seven before cruising to the victory total.
Seekkuge Prasanna (2-20), Richard Gleeson (2-20) and Rory Kleinveldt (3-24) were the stars with the ball as Middlesex got themselves in a mess.
And the Steelbacks made light work of the reply, with former Middlesex man Adam Rossington hitting an unbeaten 67 and Ben Duckett chipping in with 29.
Northants, T20 champions in 2013, will now travel to Edgbaston on August 20 as they seek more glory in a competition they have excelled in.
They had earned home advantage in the quarter-finals thanks to finishing second on the North Group and they were licking their lips as a weakened Middlesex arrived.
The visitors were without Eoin Morgan, Brendan McCullum and Steven Finn among others, while the Steelbacks welcomed back big-hitting batsman Richard Levi.
Middlesex were to win the toss, as Alex Wakely’s bad luck continued, but Northants, the arch chasers, were happy to see their opponents opt to bat.
And after Paul Stirling took a single, Kleinveldt struck early, forcing Dawid Malan to fire the ball into the stumps to give the Steelbacks the prize scalp of the Middlesex skipper.
And it wasn’t long before another player in pink was packing his bags in identical fashion as Nick Gubbins played on from a fizzing Gleeson delivery.
It left the away side 10 for two after two overs, with the Steelbacks enjoying the perfect start to proceedings.
A costly Kleinveldt over gave Stirling the chance to get Middlesex moving before Gleeson tightened things up again in his second, conceding just a single run.
George Bailey added a couple of boundaries to the Middlesex tally as he took on Steven Crook, with Middlesex ending a mixed powerplay on 41 for two.
Graeme White and Prasanna then set about putting the squeeze back on, with the spinners bowling a tidy over apiece.
But Bailey opened things up by hitting White for two consecutive fours and at the halfway stage, Middlesex were 65 for two, having rebuilt well after the sticky start.
The Steelbacks were desperate to break the partnership, and Prasanna came up with the goods as Stirling took him on and was caught by White for 35.
John Simpson then had the same problem in Prasanna’s next over as he tried to hit out and was caught by Duckett on the boundary for eight.
Prasanna was to finish his impressive four-over spell with figures of two for 20 and White was to have another over before Gleeson was brought back into the attack.
It proved to be a wise move from Steelbacks skipper Wakely as Gleeson struck with the first ball of his return, having Bailey caught by Levi.
Bailey had made 46 from as many balls and was a big wicket for the Steelbacks, who were on top with their opponents 104 for five with fewer than five overs to go.
Toby Roland-Jones was to go for just two in the next over as he looped one up in the air and Josh Cobb took the catch to give Kleinveldt his second wicket of the night.
Gleeson was wreaking havoc at the other end, pushing the Middlesex batsmen to the limit and finishing his spell in typically impressive style.
Kleinveldt’s final over saw the South African star take a catch off his own bowling to get rid of Ryan Higgins, whose stay in the middle was an onerous one.
Middlesex couldn’t get any joy from Muhammad Azharullah’s final over either, meaning the men from Lord’s finished a difficult innings in flat fashion.
The Steelbacks took a few balls to get up and running in their reply, but Levi was soon into his stride, hitting Harry Podmore for six in the second over.
But Levi was to go for nine in the third over as he top edged a Roland-Jones delivery and was caught well by James Franklin, who ran back towards the boundary and pouched it.
Cobb replaced Levi in the middle and responded with a couple of boundaries off Franklin in the fifth over.
But Cobb was to go in the next over as he miscued a Higgins delivery and was caught at point by Bailey.
It left the Steelbacks 41 for two at the end of the powerplay, which was exactly the same score as Middlesex amassed from their first six overs.
Duckett was then relieved as Gubbins dropped a chance at cover, but the batsman made the most of his reprieve, stroking a couple of lovely fours off Nathan Sowter.
Duckett and Rossington, who had played nicely since the start, started to nudge singles under no pressure before Rossington hit an eye-catching six off Higgins.
It left the Steelbacks well ahead, with 45 runs required from the final 48 balls, but Duckett departed as he was caught by Bailey off the bowling of the returning Roland-Jones.
Rossington refused to be fazed though, bringing up his half-century with a six before smashing an even bigger maximum in the same over.
The Steelbacks were sauntering to victory and they confirmed it when Rossington hit a four, sparking scenes of celebrations and fireworks at the jubilant County Ground.
Steelbacks: Levi, Rossington, Cobb, Duckett, Crook, Wakely (c), Prasanna, Kleinveldt, White, Gleeson, Azharullah.
Middlesex: Stirling, Malan (c), Gubbins, Bailey, Simpson, Franklin, Higgins, Roland-Jones, Rayner, Sowter, Podmore.