Liam Reddy saved four penalties and scored one of his own as Perth Glory booked a place in the A-League Grand Final by beating Adelaide United 5-4 on penalties following an amazing 3-3 draw after extra time.
Perth seemed set to cruise into their first final since 2012 thanks to Diego Castro's double, but Adelaide roared back to force extra-time through Papa Baba Diawara and Ryan Kitto, who struck an equaliser in the 94th minute.
Adelaide needed another leveller in extra time as Scott Neville's header was cancelled out by Michael Marrone, but Tony Popovic's Premiers finally found a way to win the game in the penalty shootout.