Adam Forshaw scored the decisive penalty as Brentford beat Swindon 5-4 on penalties to reach the League One play-off final against Yeovil Town.
Brentford had seemed destined for victory at 3-1, but were forced to face extra time when Adem Clint made it 3-3 in the sixth minute of injury time.
The hosts were well on top in the first half and took a deserved lead when Adam Rooney headed into his own net from Luke Forrester’s corner and the Bees doubled their advantage when Clayton Donaldson rifled in from the edge of the box.
Rooney then scored at the right end, scuffing in after Brentford failed to clear, but Donaldson made it 3-1 with a fine individual effort 90 seconds after the restart.
Joe Devera lashed in from close-range to make it 3-2 and, with five minutes of added time almost up, Flint sent a last gasp header past Simon Moore to force extra time.
But Moore saved from Swindon’s Miles Storey in a nail biting shootout as Brentford booked a Wembley date with Yeovil, who defeated Sheffield United earlier in the day.
All eyes were on Griffin Park penalty villain Marcello Trotta, who was handed his first start since spurning the chance to send Brentford to the Championship with his missed penalty against Doncaster.
But Trotta was impressive as Brentford utterly dominated the opening 45 minutes against a lacklustre Swindon. His perseverance earned the Bees a corner from which Rooney headed into his own net.
Swindon had no response to Brentford’s superiority, and fell further behind when Trotta found Donaldson, who spun on the edge of the box and drilled a low shot into the bottom corner for his 19th goal of the season.
With Brentford seemingly marching towards Wembley, Swindon struck back against the run of play. Sloppy Brentford defending allowed Rooney a sight at goal, and his scuffed shot beat Simon Moore.
Forrester, impressive throughout, could have re-established Brentford’s two-goal advantage when his stunning volley from Donaldson’s excellent cross was saved well by Wes Foderingham.
But Brentford moved ahead 90 seconds after the restart when Donaldson intercepted a loose pass on the halfway line and motored towards the Swindon goal, finishing a blistering run with a delightful chip over the on rushing Foderingham.
Just when Brentford thought their lead was an unassailable one, Swindon pegged them back again. This time Devera hammered the ball in from close range after Brentford failed to clear.
Swindon threw everything at Brentford in search of an equaliser, and were finally rewarded when Flint headed in at the far post from a corner, breaking Bees hearts again.
But Brentford survived the additional 30 minutes and won the shootout to cap a thrilling game and move to within 90 minutes of Championship football.