LIVE UPDATES: South Africa v Australia - Day 3
Earlier, Mitchell Johnson took 7/68 to help Australia dismiss South Africa for 206.
Australia, posting 397 in their first innings, had a lead of 191 runs.
Johnson picked up three wickets for 18 runs in the morning as the hosts added 66 runs to their overnight total of 140 for six.
South Africa had safely negotiated their way past the follow-on target of 187 when top-scorer AB de Villiers departed for 91, off 148 balls, giving Johnson his sixth wicket.
After the previous ball was hit through the covers for four, the aggressive batsman failed to clear David Warner at mid-off who took a leaping catch.
Earlier, Johnson completed his five-wicket haul with his fourth ball of the day - a short delivery which had Robin Peterson (10) jumping out the way. Touching the top edge of the bat, the catch was taken comfortably by Michael Clarke in the slips.
After a partnership of 49 off 74 balls between De Villiers and Vernon Philander, Aussie spinner Nathan Lyon made the breakthrough dismissing Philander for 15.
Johnson mopped up getting rid of Morne Morkel for a duck to complete his seven-wicket haul.