Amla finished the day one run short of his 18th Test century with South Africa on 230 for two after paceman Steyn had taken four for 40 as the bowlers dismissed the hosts for 163 for a first-innings lead of 62.
Skipper Graeme Smith put on a quickfire 178 for the second wicket with Amla before departing for 84 late in the day to leave Jacques Kallis, who had made 17 not out, to resume on Sunday with plenty of time to build an insurmountable lead.
"Dale started well with the ball this morning," fast bowler Vernon Philander said. "And then the way Graeme and Hashim batted was just unbelievable, taking the game to them, and momentum's on our side and hopefully we can keep it that way."
Australia had started the day on 33 for two in front of a bumper WACA crowd hoping to see Ricky Ponting score a century in his penultimate innings and drive his country towards a series victory and the number one Test ranking that would go with it.
Their hopes lasted less than 40 minutes, however, as Steyn, who took three wickets at the cost of just four runs in the morning sun, and fellow quicks Philander (2-55) and Morne Morkel (1-19) unleashed the barrage the Australians had feared all series.
"Not an ideal day," said wicketkeeper Matthew Wade. "We had high hopes when we came in this morning but things didn't go well."
The first ball of Steyn's first over dispatched opener David Warner caught behind for 13 after a fruitless TV appeal, while his fourth sent nightwatchman Nathan Lyon back to the pavilion for seven.
Ponting, welcomed by a standing ovation, managed just four runs when he was trapped lbw by Philander, his subsequent appeal to the TV umpire having less merit than Warner's but proving just as pointless.
With their free-scoring captain Michael Clarke at the crease, Australia were still thinking about a first-innings lead but Steyn ended those thoughts with his best ball of the series.
A fullish ball that moved away at the last moment induced Clarke into an edge that AB de Villiers caught behind the stumps.
Only Wade, who scored a bright 68, and debutant pace bowler John Hastings, the last Australian out for 32, offered any real resistance to the South Africans.
Wade built a partnership of 55 with Mike Hussey and brought up his second Test half century from 51 balls by launching his third six over the deep mid-wicket boundary.
Hussey was removed by Morkel having eked out 12 runs in 68 balls before Robbie Peterson, who finished with three for 44 after being recalled for his first Test in four years, bowled Wade and mopped up the tail just before tea.
South African opener Alviro Petersen had ended the Australian innings with a brilliant catch to dismiss Hastings, flicking the ball into the air as he fell over the boundary rope and returning to the field to take the catch.
After a bright start, his own innings was ended for 23 after tea by an even better effort when Mitchell Johnson, off his own bowling, flung himself down to his right to take the ball just above the turf.
Smith, who scored his 84 off just 100 balls with 13 fours, was victim of a third sensational catch when Lyon dived low to claim the ball at deep square leg with the end of the day in sight.
It was a rare bright moment in a hard day for Australia, particularly for left-arm quick Mitchell Starc who ended up with figures of one for 76.
"We don't feel the series has slipped away," Wade, perhaps mindful that South Africa chased down 414 to win at the WACA four years ago, added.
"Tomorrow we need to come out and execute, take eight wickets, get ourselves into a real scrap and chase whatever total they put up."