Brentford beat Swindon 5-4 on penalties after a pulsating 3-3 Griffin Park draw to reach the League One play-off final.
After Bees keeper Simon Moore saved Miles Storey's spot-kick, Adam Forshaw hammered in to spark a pitch invasion.
At 3-1 up, Brentford looked like they done enough following a brace from Clayton Donaldson, but Aden Flint's 95th-minute header forced extra time.
Swindon defender Nathan Byrne was then sent off in extra time, but no further goals meant a dramatic penalty finale.
Griffin Park penalties . . .
- Swindon 0-1 DEVERA
- Brentford 1-1 SAUNDERS
- Swindon 1-2 FLINT
- Brentford 2-2 HAYES
- Swindon 2-3 COLLINS
- Brentford 3-3 DEAN
- Swindon MISS (Storey)
- Brentford 4-3 CRAIG
- Swindon 4-4 ROBERTS
- Brentford 5-4 FORSHAW
Uwe Rosler's men, who famously missed out on automatic promotion to Doncaster in the most painful of circumstances on the final day of the regular League One season, now head for Wembley to play Yeovil Town.
The Bees will make the short trip across London on 19 May looking to put right a record of never having been promoted via the play-offs, despite six previous attempts.
The match was never short of action right from the off, home keeper Moore having been forced to tip over a header from Robins centre-back Flint within the opening two minutes.
Although looking nervy at the start, Brentford grew into the game, dominating most of the first half.
The Bees went ahead on 24 minutes when Adam Rooney diverted a corner into his own net. And Donaldson then made it 2-0 five minutes before the break with a low left-foot shot from the edge of the area following good work from Marcello Trotta.
The visitors then had keeper Wes Foderingham to thank for keeping them in the tie when he turned Donaldson's far post header behind with his knees before producing a sharp save to parry a stunning volley from Harry Forrester.
Trotta turns it round
"Today's game proved everyone at Brentford has moved on from Marcello Trotta's penalty miss on the last day of the season against Doncaster Rovers.
"The 20-year-old, on loan from Fulham, restored to the starting line-up after sitting out the first leg at Swindon, was a constant threat up front.
"He was given a standing ovation when substituted and, after watching the penalties from the bench, was chaired off by Bees supporters."
Rob Stevens, BBC Sport
Rooney pulled a goal back on 44 minutes, capitalising after Brentford had failed to clear their lines. But the Bees then made the perfect start to the second half when Donaldson picked up a loose pass from Swindon's Gary Roberts to run clear of the defence and chip Foderingham.
The Robins came back into the game when right-back Joe Devera hammered home a 57th-minute volley to set up a cagey final half hour. But, just as in Saturday's first leg at the County Ground, when Kevin O'Connor levelled with an injury-time penalty, there was once again late drama.
With the game deep into stoppage time, Flint powered in Roberts' corner to tie it up at 4-4 on aggregate, force extra time and spark jubilant scenes in the away stand.
The added 30 minutes were understandably tense, with the only chance of note coming when Foderingham smothered a close range effort from Donaldson.
Brentford were then handed a man advantage when Swindon left-back Byrne picked up a second booking for deliberate handball, to be given his marching orders by referee Nigel Miller. But they could not find a way past the resolute visitors' defence.
After Swindon kicked off the shoot-out, all the first six penalties were converted until teenage Robins sub Storey had his effort saved by Moore, diving low to his left.
It then fell to midfielder Forshaw to keep his nerve, hammer high into the net and book the relieved Bees' first trip to a Wembley play-off final since 1997.
VIEW FROM THE DRESSING ROOM
Brentford boss Uwe Rosler:
"Swindon took us to the wire. But the way we played for 120 minutes, just 48 hours after the last match, was magnificent and we deserved to go through.
"My players never felt sorry for themselves and they never stopped.
"After what had happened before, and to concede in the last second again, for them to come back psychologically, I am privileged to have a squad like this in my first job in English football."
Swindon Town manager Kevin MacDonald:
"The character of the team has been fantastic all the way through the season.
"You saw that today, but the sending-off turned the game.
"Miles Storey showed a lot of character to step up there. I am proud of him, but someone had to miss."
- 21 Moore
- 05 Craig
- 06 Dean
- 14 Logan
- 24 Bidwell Booked
- 04 Forshaw
- 12 Adeyemi (Douglas - 56' )
- 20 Diagouraga Booked
- 09 Donaldson Booked
- 11 Trotta (Hayes - 82' )
- 19 Forrester (Saunders - 70' )
- 16 Gounet
- 18 Hodson
- 02 O'Connor
- 07 Saunders
- 08 Douglas
- 17 Wright-Phillips
- 23 Hayes
- 01 Foderingham
- 04 Flint Booked
- 05 Devera
- 22 Ward
- 24 Byrne Dismissed after an earlier booking
- 08 Ferry (Storey - 78' )
- 11 Roberts Booked
- 12 McCormack Booked
- 25 Luongo Booked
- 16 Williams (Collins - 51' )
- 28 A Rooney (De Vita - 51' )
- 30 Bedwell
- 06 Navarro
- 07 L Rooney
- 18 Miller
- 09 Collins
- 20 Storey
- 23 De Vita