Goalkeeper Liam Reddy has heroically saved Perth Glory from a major scare to beat Adelaide 5-4 in a penalty shootout in an A-League semi-final for the ages.
Glory looked to have the game in the bag when Diego Castro's second goal in the 74th minute gave the home side a 2-0 advantage at HBF Park on Friday night.
Substitute Baba Diawara gave Adelaide a flicker of hope when he made the most of a goal-mouth scrap to score in the 81st minute.
And with just six seconds left in the fourth and final minute of stoppage time, Ryan Kitto fired home the equaliser after Glory failed to clear a corner.
Scott Neville edged Glory ahead in the first period of extra-time.
But Michael Marrone levelled the scores with just five minutes remaining in the contest with a powerful header.
It meant the game was locked at 3-3 and would come down to a penalty shootout.
And with Adelaide goalkeeper Paul Izzo nursing an ankle injury, the visitors' hopes looked bleak.
But when Izzo saved Diego Castro's penalty early in the shootout, it meant Adelaide just needed captain Isaias to convert his to win.
Reddy pulled off a sharp save to his right to keep Glory alive, and he pulled off three more saves to give Perth a shot at victory.
Izzo, who was a hero himself in saving Jason Davidson and Shane Lowry's penalties to keep his side in the shootout, then needed to keep out Joel Chianese.
However, Chianese fired his penalty to the left to secure the epic win, 5-4 on penalties.
Perth will now play either Melbourne Victory or Sydney FC at the 60,000-seat Optus Stadium next weekend.
Glory coach Tony Popovic led the Western Sydney Wanderers to three grand finals with each of them ending in losses.
Now, he has the chance to snare a piece of silverware that has so far proved elusive.
But he was almost denied the opportunity by a plucky Adelaide unit that never gave up in the face of adversity.
Adelaide's loss marked the end for coach Marco Kurz, who led the side to the finals in each of his two years but has already been told he is no longer required.