Crewe Alexandra overturned a two-goal first-leg deficit to beat Doncaster Rovers on penalties and secure a place in the League Two play-off final.
Goalkeeper Max Stryjek, only at the club on an emergency loan from Wycombe, was the hero as he saved penalties from Zain Westbrooke and Hakeeb Adelakun to secure a 4-3 shootout win.
Crewe, who ended the season with just one win from their final nine league games, have become just the fourth team in play-off history to come back from losing the first leg of a semi-final by two goals at home and still make the final.
Mickey Demetriou rose highest at the back post to head home Joel Tabiner's corner and James Maxwell bundled Chris Long's low cross into his own net to level the aggregate score after just 16 minutes and leave the home fans stunned.
Rovers improved as the game wore on and Richard Wood headed just wide from a Hakeeb Adelakun centre - and Crewe somehow managed to get the ball clear following a goalmouth scramble, as the hosts came close to what would have been a tie-winning goal in the 90 minutes.
Luke Molyneux saw a fierce effort turned on to the post by Stryjek in the first half of extra time but, with both teams looking exhausted, there were no more chances of note.
Doncaster looked to have the advantage when Thimothee Lo-Tutala saved Mickey Demetriou's second penalty for the away side but Stryjek saved Westbrooke's effort in the next kick and, after all the rest were scored, Adelakun was denied by the keeper.
Crewe will now play the winner of MK Dons and Crawley, who meet again on Saturday with the Red Devils 3-0 up from the first leg, at Wembley on Sunday, 19 May.