Harlequins left it late to book a place in their first Premiership final with a dramatic win over Northampton in a tight play-off semi-final at The Stoop.
Ryan Lamb kicked Saints to a slender half-time lead with four penalties, Nick Evans landing three for Quins.
Saints led 18-15 after an hour as both fly-halves exchanged three-pointers.
Lee Dickson's converted try made it 23-15 with 10 minutes to go but Joe Marler's try and five more points from Evans's boot sealed the win.
Quins, who topped the Premiership table after leading since the third week of the competition, were made to work for their win by stubborn Saints.
The hosts were trailing by five points with five minutes to go before they rumbled a driving maul infield and over from seven metres out and Evans converted with ease for victory.
The result means a fifth play-off failure for Northampton who were also searching for their first place in a Premiership final.
The match pitted brothers Karl and Lee Dickson against each other in the number nine shirts and it was sibling bristling that led to the first score.
When Lee Dickson prevented his older brother from taking a quick penalty Evans took advantage of the 10 metres that were added to slot a second-minute penalty.
Both sides looked to give the ball width early on but it was a collapsed driving maul from a Saints line-out that gave the visitors their opening as Lamb converted his first penalty from 40 metres.
Evans scuffed a routine shot at goal and the touch judges had to reconsider Lamb's effort from his own half, having initially ruled it out, when the ball dropped over the crossbar.
The scores were levelled again at 6-6 on 18 minutes by Evans and, with Saints' line-out providing a solid platform, Quins were guilty of collapsing a second maul moments later before Lamb again punished them from the tee.
Northampton's number 10 missed a 48-metre effort and after Maurie Fa'asavalu's wrecking-ball antics put the hosts on the front foot, Saints lost number eight Roger Wilson to the sin bin just after the half hour under sustained pressure.
Evans made it 9-9 with the resulting penalty but when Ollie Kohn dawdled at a ruck, Lee Dickson made sure his fly-half had another penalty attempt which sailed through the uprights.
Despite being down a man Northampton spread the ball - engineering a promising Paul Diggin break at the death of the first half.
Two minutes after the break Jordan Turner-Hall thought he had scored from a quick five-metre throw in after Ben Foden beat his England full-back rival Mike Brown to a kick to the corner.
But referee Andrew Small called the play back for the reintroduction of the suspended Wilson.
Quins had started the half with a renewed vigour and quick tempo and were rewarded when Evans pulled the scores back even eight minutes into the half.
Saints, shorn of four of their regular forwards - and without Chris Ashton who was a late withdrawal, were treading water in the scrum and eventually crumbled on 50 minutes.
Lamb brought the score to 15-15, moments after being at fault for his side going behind, when Quins impeded their opposition at the restart.
Paul Doran-Jones replaced Brian Mujati on 55 minutes to try and give Saints a platform at scrum time but no sooner did the change take place then Saints were shoved back five metres.
Lamb made it 18-15 after his interception took Saints into Quins' 22 but Evans missed the chance to give his side parity on the hour.
Saints made him pay on 66 minutes when skipper Dickson went over after fine offloading from the East Midlanders.
Crucially, Lamb missed the extras but Evans took his chance soon after to make it a five-point game at 23-18.
With four minutes on the clock Quins went for broke and from a penalty touchfinder produced a pulverising driving maul which Marler grounded under a sea of bodies.
Evans stepped up to convert and set up a clash in a fortnight's time with either Leicester or Saracens.
Harlequins director of rugby Conor O'Shea told BBC 5 Live:
"I think the tension got the better of us in a lot of ways. We had so much territory and possession, and it looked like the game could be gone.
"But we said before the game and again at half-time, the belief they have in each other is incredible. Did we play well? No. But semi-finals are about winning.
"I think the supporters and player deserve this. We want to make sure we do ourselves justice in the final now."
Harlequins Joe Marler told BBC 5 Live:
[On winning try] "It was a massive maul, a massive team effort. Even the backs were getting in there, I could see Nick Evans right up my bum!
"There is no doubt it was a try, the boys pushed me over. It was an awesome effort, I am really looking forward to the final now.
"Northampton scored a fantastic try but we kept believing, we just said 'there's no panic, we have still got 15 minutes left'. We have been doing it all year, and we showed that out there."
Northampton Saints director of rugby Jim Mallinder told BBC Northampton:
"We have a very despondent changing room in there. The lads gave everything, we came close but not quite close enough.
"When you've only got a few minutes left and you're ahead, you've got to be more accurate.
"It was one of those games where you want to be playing at home, because those 50/50 decisions you often get your way.
"The lads who are leaving were tremendous but to see those young lads on the field at the end, it's brilliant for the club. But we're very disappointed because it's a massive opportunity that won't come again for this group of players."
Harlequins: Brown; Williams, Lowe, Turner-Hall, S Smith; Evans, Dickson; Marler, Gray, Johnston; Kohn, Robson; Fa'asavalu, Robshaw (capt), Easter.
Replacements: Hopper for S. Smith (70), Guest for Fa'asavalu (68).
Northampton: Foden; Artemyev, Pisi, Downey, Diggin; Lamb, Dickson (capt); Tonga'uiha, Long, Mujati; Sorenson, Day; Craig, Dowson, Wilson.
Replacements: May for Downey (76), A. Waller for Tonga'uiha (65), McMillian for Long (61), Doran-Jones for Mujati (57), Harrison for Craig (63), Nutley for Wilson (76).
Sin Bin: Wilson (34).
Ref: Andrew Small (RFU).