Substitute goalkeeper Andrew Redmayne was the hero for the Socceroos, making the decisive save from Alex Valero as the shootout entered sudden death.
Australia coach Graham Arnold had opted to replace skipper Mat Ryan with Sydney FC keeper Redmayne, who only has three caps to his name, ahead of the shootout in a major gamble.
Redmayne’s clowning antics on the line were curious, but enough to put off Luis Advincula who hit the post after Martin Boyle had hit the post with Australia’s first penalty.
Australia’s victory means they reach their sixth World Cup, having made every finals since beating Uruguay on penalties in 2006, when they made the last 16.
Peru, who had qualified for the 2018 World Cup and beaten the Socceroos 2-0 in Russia, miss out on making their sixth appearance at the World Cup, having ended a 36-year wait in 2018.
“No one knows what those boys have been through to get here,” Arnold said. “It was so hard, the whole campaign, and the way they’ve stuck at it and committed themselves to it, incredible.
“I called out (Australian Prime Minister) Anthony Albanese the other day to give everyone a day off to celebrate this because I believe this is one of the greatest achievements ever.
“To qualify for this World Cup the way we’ve had to go through things, 20 World Cup qualifiers, 16 away from home, it has been tough but we did it.”
Aziz Behich and Ajdin Hrustic both had late chances in normal time for Australia, before Peru’s Edison Flores hit the post with an extra-time header.
Australia will be grouped with France, Tunisia and Denmark at the World Cup.
