Australia fast bowler Mitchell Starc produced high-quality reverse-swing to claim five wickets against South Africa as the tourists seized control of the first test with a first innings lead of 189 at the close on the second day.
Australia were 351 all out as Mitchell Marsh top scored with 96 before Starc (5-34) and off-spinner Nathan Lyon (3-50) skittled the hosts for a paltry 162 in their reply at Kingsmead.
AB de Villiers (71 not out) was sublime for South Africa as he forged a lone battle, but ran out of partners as Starc ripped through the middle and lower order with his fast swing bowling.
Australia will begin their second innings on the third morning with what looks a match-winning lead on an abrasive wicket that is likely to deteriorate further in the coming days.
Marsh was dismissed four short of his century as Australia took their overnight tally from 225-5 to post an imposing score.
The tourists had said they would be delighted to get 300 and Marsh steered them through a difficult time in the first session after South Africa had taken the second new ball and snagged three wickets before lunch.
His solid batting, coupled with a quick-fire cameo from Starc, who scored 35 runs off 25 balls, took Australia past that total and Marsh to the brink of a third test century.
However, he lost patience and tried to hit Vernon Philander (3-59) over the top of mid-on, only for the tall Morne Morkel to pluck a catch out of the air.
South African spinner Keshav Maharaj (5-123) grabbed the last wicket of Lyon to complete a five-wicket haul.
The spinner had been the most effective of the home bowlers on a slow wicket, which Lyon wasted no time in utilising to his benefit as he came on in the eighth over of the South African innings.
His second delivery saw Dean Elgar (7) get a leading edge as he tried to play against the spin and Lyon make a diving catch to his right.
Hashim Amla (0) followed three balls later as Lyon dragged him forward and he played onto his pad to be snagged by Cameron Bancroft at short leg.
Australia picked up wickets at regular intervals through the afternoon session with only opener Aidan Markram (32) and Quinton de Kock (20) offering any sort of support to the excellent De Villiers.