South Africa were three without loss in their first innings at lunch after dismissing Australia for 550 on the second day of the second Test at Adelaide on Friday.
Alviro Petersen was on three with skipper Graeme Smith yet to score as the Proteas set after their target of avoiding the follow-on at 351.
Australia's hopes of getting a first innings total around 600 or even an innings declaration evaporated when South Africa finally removed skipper Michael Clarke early on the second morning.
In sharp contrast to their first-day battering of the Proteas bowling to amass 482 for five at almost six runs an over, the Australians lost their last five wickets for 68.
Clarke was finally out for the first time in the series on 230, some 20 minutes into the second day when he was bowled by Morne Morkel, who finished with five wickets for 146 off 30 overs.
The Australian skipper became the first batsman in the history of Test cricket to post four 200s in a calendar year.
It was a psychological breakthrough for South Africa with Clarke scoring 489 runs before they got him out after his unbeaten 259 in last week's first Brisbane Test.
Clarke hit 40 boundaries and a six off 257 balls but Australian wickets soon began to tumble after his exit to a standing ovation. It was only a feisty 42 off 35 balls from James Pattinson that got the Australian total to a healthy looking 550.
Wicketkeeper Matthew Wade was caught behind for six to give Morkel a fourth wicket as Australia edged past 500.
Rory Kleinveldt captured his first Test wicket but had to go through a nervy no-ball check before Peter Siddle was confirmed out for six, caught at slip by Graeme Smith.
Ben Hilfenhaus went quickly for a duck hooking to Kleinveldt at fine leg for Morkel's fifth wicket of the innings. But Pattinson struck some lusty blows with two sixes off legspinner Imran Tahir and four fours to put on 46 runs for the last wicket with Nathan Lyon (7).
Demoralised Tahir finished wicketless for 180 off 23 overs, putting in doubt his chances of playing in the final Test of the series in Perth next week.