Robbie Kydd races way to score the match-winning try for Saints
Biarritz: (3) 6
Pens: Yachvili 2
Northampton: (0) 7
Northampton produced one of the biggest shocks in Heineken Cup history to reach the semi-finals with a tension-wracked win over Biarritz in San Sebastien.
Bottom of the Premiership table, Saints frustrated Biarritz in an error-strewn first half which was scoreless until Dimitri Yachvili's late penalty.
Another Yachvili kick put Biarritz 6-0 up, before Northampton's Robbie Kydd intercepted to score the vital try.
And Saints held on in a nervous final 10 minutes for the unlikeliest of wins.
They will now face Wasps, who were expecting to travel to San Sebastien to face Biarritz, at the Ricoh Arena, home of Coventry City Football Club, on Sunday, 22 April.
Biarritz were a major disappointment, particulalry in an uninspiring opening 40 minutes at the Estadio Anoeta.
Renowned for being able to turn on the style when the mood takes them, the Basques' moments of inspiration were few and far between.
One glorious piece of skill from Nicolas Brusque gave the crowd something to shout about with the full-back scooping a kick to touch back into play with his fingertips before chipping the ball the width of the pitch into Jean-Baptiste Gobelet's arms.
The closest Northampton, who largely restricted themselves to one-out drives around the ruck, came to a score was when Kydd burst off the back of a ruck, but his pass out of contact just evaded the supporting Mark Robinson.
Yachvili scored all his side's points
A misfiring Biarritz were reduced to appealing for non-existent penalties. Imanol Harinordoquy's leap into the air and roll around on the ground after the slightest of contact was embarrassing in the extreme.
Biarritz did win a penalty after a showboating reverse pass from Spencer put Ben Cohen in trouble, but Yachvili pushed his attempt wide of the posts.
But the scrum-half did finally break the deadlock with the final kick of the half after Paul Tupai, who somehow managed to strip Serge Betsen of his shirt, was penalised at the ruck.
The second half was at least full of incident, but the error count was almost as high.
Northampton finally earned the chance to equalise when they won a penalty after going through phase after phase of pick-and-gos, but Spencer skewed his effort wide.
The visitors were playing with more ambition though, and a couple of darts from full-back Paul Diggin raised the spirits.
Yachvili hit the post with another penalty attempt, but quickly made amends with a second kick after a Christian Labit infringement and things looked dire for Saints.
But the match turned in an instant as Yachvili gave away an interception pass to Kydd who raced 70m to score on 68 minutes.
After some debate between Spencer and captain Bruce Reihana, Spencer knocked over the key conversion from just left of the posts to put Northampton ahead.
Biarritz were finally stung into some kind of response, but Saints produced tackle after tackle to keep them at bay, while also making sure they did not concede a penalty.
Biarritz: Nicolas Brusque; Philippe Bidabe, Martin Gaïtan, Damien Traille, Jean-Baptiste Gobelet; Julien Peyrelongue, Dimitri Yachvili; Petru Balan, Benoit August (capt), Denis Avril, Jerome Thion, David Couzinet, Serge Betsen, Imanol Harinordoquy, Thomas Lièvremont
Replacements: Benjamin Noirot, Benoit Lecouls, Manuel Carizza, Mohammed Dridi, Julien Dupuy, Marcelo Bosch, Sereli Bobo
Northampton: Paul Diggin; Sean Lamont, Bruce Reihana (capt), Robbie Kydd, Ben Cohen; Carlos Spencer, Mark Robinson; Tom Smith, Dylan Hartley, John Brooks, Matt Lord, Christian Short, Paul Tupai, Ben Lewitt, Christian Labit
Replacements: Matias Cortese, Soane Tonga'uhia, Mark Hopley, David Gerrard, Darren Fox, Johnny Howard, Stephen Myler.