A heavily-strapped Morne Morkel made two breakthroughs as South Africa pushed for victory on the fourth day of the fourth Test against Australia at the Wanderers Stadium on Monday.
Australia, set an impossible 612 to win, were 88 for three when bad light ended play.
The tall Morkel, playing in his final Test before retirement, dismissed both opening batsmen in an impressive eight-over spell.
South Africa delayed their second-innings declaration until tea, with a team spokesperson citing concerns about injuries to all three of their fast bowlers.
Morkel, with extensive strapping around his midriff, came on to bowl as second change and with his tenth ball trapped Matt Renshaw leg before wicket with a full-length delivery angled in to the left-hander.
Left-arm spinner Keshav Maharaj also won a leg before decision, when Usman Khawaja played no shot to a ball which spun sharply out of the rough, before Morkel struck again when Joe Burns played across a ball of almost yorker length.
Burns, one of three replacements for the Australian trio banned for their role in a ball-tampering scandal, made 42 off 84 balls with five fours and a six.
Earlier captain Faf du Plessis hit 120 and Dean Elgar made 81 before South Africa declared at 344 for six.
With South Africa leading the series 2-1, their batting effort made sure they would secure their first home series win against Australia since 1969/70, whether or not their bowling options were limited.