The Proteas posted 58-1 to extend their lead to 325 runs by tea on day three of the fourth Test at the Wanderers.
Australia looked unlikely to prevent the follow-on heading into lunch on 201-7.
Having lost Pat Cummins on 50 shortly before the break, it was up to Australia captain Tim Paine to lead the chase. Paine was on 47, three runs short of a half-century, partnered by Nathan Lyon who averages just over 11.
With a lead of 287 runs, the Proteas would need to take the remaining three wickets for 87 runs to have the option of sending Australia to bat again.
Rabada struck five balls after the break. After being chipped over extra cover for four by Lyon, Rabada followed with a dot ball and then posed the question to the spinner once again by floating a delivery which was lobbed to Dean Elgar at mid-off.
Chadd Sayers’ batting debut lasted as long as it took him to walk out the tunnel. Outwitted by a short ball with a tinge of extra bounce by Keshav Maharaj. Sayers attempted a cut shot but instead found a thick outside edge for a simple catch for a rooted Hashim Amla at backward point.
Paine (62) managed to take Australia to 221 after reaching his half-century, but a brilliant catch from Elgar, who sprinted back from mid-off to take a diving catch off the bowling of Rabada saw Australia toppled for 221.
Despite their 267-run lead, the Proteas refrained from enforcing the follow-on.
After the innings break, Aiden Markram and Elgar added 54 during the second session, taking the Proteas’ lead to 321.
It was a special session for Markram who reached 1,000 runs Test runs in 18 innings, the second fastest South African to reach the landmark. Graeme Smith was the fastest to the feat, having reached the milestone against England at Lord’s in his 17th innings on 31 July 2003.
Shortly after, Cummins found Markram’s outside edge which sailed to Peter Handscomb at second slip.
The Proteas finished on 58-1 with a lead of 325 with Hashim Amla on four and Elgar on 14.
Australia 221 (1st innings): Tim Paine 62, Usman Khawaja 53, Pat Cummins 50, Vernon Philander 3-30, Kagiso Rabada 3-53, Keshav Maharaj 3-92.
South Africa (2nd innings): Aiden Markram 37, Dean Elgar 16*, Hashim Amla 4*, Pat Cummins 1-17.
South Africa lead by 325
Photo: Deryck Foster/BackpagePix