Dean Elgar and Hashim Amla were dismissed as the Proteas chipped away at the home side's 124-run lead after a masterful century from Usman Khawaja propelled the Aussies to 383.
Steamed-up Mitchell Starc gave Australia a flying start in his opening over when he had Elgar snapped up by Steve Smith at second slip for a duck.
Amla was dropped by debutant Matt Renshaw off Starc on 13 before he fell to Josh Hazlewood 30 minutes before the break.
Amla was caught behind but sought a review which detected an edge off his bat and he was on his way for 45 off 80 balls.
The experienced right-hander has yet to score a half-century in the series.
Khawaja earlier top scored with 145 with the last four wickets adding 100 runs to put the home side in command.
Khawaja's 308-ball vigil finally came to an end when he was trapped leg before wicket by Vernon Philander.
The unflappable left-hander occupied the crease for 466 minutes after he was forced to open the innings after a miscalculation over David Warner's time off the field for injury treatment when the Proteas unexpectedly declared.
Khawaja left the field to a standing ovation following his second-highest Test score, amassed over three days, ranking only below his 174 against New Zealand in Brisbane last year.
It was the Pakistan-born batsman's fifth Test century, all posted over the last 12 months.
Team coach Darren Lehmann caused a stir when he failed to include Khawaja among those safe for their spots after the second Hobart Test debacle.
But Khawaja insisted he was unaware of being publicly put on notice by Lehmann, who told reporters after Australia's innings capitulation that only four players were guaranteed selection for the Adelaide Test.
"I didn't know the coach said that. That's why I don't read the papers. I don't need to hear that," Khawaja said before Saturday's play. "That's the first I'm hearing it."
Khawaja's epic knock was also the first century by an Australian in the South Africa series and he has now scored 314 runs at 62.80 in five innings.
Starc clubbed his seventh Test half-century with a 91-ball 53 before he was caught and bowled by Kagiso Rabada, ending a lively knock that featured five fours and a six.
Nathan Lyon chipped in with 13 with Hazlewood remaining 11 not out.
Kyle Abbott was the best of South Africa's bowlers with an economical three wickets for 49 off 29 overs with young gun speedster Rabada claiming three for 84.
Australia are trying to prevent the Proteas from an unprecedented series clean sweep after huge defeats in the opening two Tests.
(This story has not been edited by Business Standard staff and is auto-generated from a syndicated feed.)