Mat Ryan was Australia's hero with two fabulous shoot-out saves as the Asian Cup holders saw off Uzbekistan 4-2 on penalties after a turgid 0-0 draw in the last 16.
The White Wolves' star man Eldor Shomurodov came closest to breaking the deadlock before half-time.
Australia's threat was negligible against a team ranked 95th in the world until Mathew Leckie came on for his first appearance of an injury-ruined tournament.
Leckie and Tom Rogic provided Graham Arnold's men with fresh impetus and it was the Hertha Berlin winger who coolly dispatched the decisive penalty after Ryan thwarted Islom Tukhtakhujaev and Marat Bikmaev in style.
Shomurodov was Uzbekistan's best attacking outlet and embarked upon a jinking run from the left into the Australia box, only to be denied by Ryan.
The Socceroos managed to get on the front foot after the break, with Jamie Maclaren having a shot blocked from Awer Mabil's clever throughball and Rhyan Grant unable to get enough purchase on his header from the rebound.
Right-back Grant darted in at the back post to nod over with an hour played before the relatively lively Mabil made way for Leckie.
Maclaren was unable to get a touch when Rogic slid a ball through the Uzbekistan backline and was replaced by Apostolos Giannou with 15 minutes to play.
Davron Khashimov hacked out of his goalmouth after Leckie cut inside to have a shot saved, while Uzbek captain Odil Ahmedov had a volley deflected wide on a rare 86th-minute attack.
Leckie fired into the arms of Ignatiy Nesterov after the goalkeeper saved Rogic's drive early in extra-time and the Celtic midfielder hacked wide at the end of a solo run as he sought to avert the need for spot-kicks.
Australia left-back Aziz Behich will have wished he had when Nesterov made the first save of the shoot-out, but Ryan came to his and his country's rescue.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.