Captain Faf du Plessis ended his run of low scores with a classy century, but fitness concerns over all three seamers made South Africa bat until tea before declaring on the fourth day of the final Test against Australia on Monday.
South Africa finally called a close to their second innings on 344 for six, setting Australia a massive victory target of 612 runs.
But with Kagiso Rabada suffering from a stiff lower back, Morne Morkel struggling with a side strain and Vernon Philander nursing a groin problem, Du Plessis faces a juggling act with his potent seam attack.
South Africa need a draw to secure a first home series over Australia since 1970, with the tourists having been rocked by the ball-tampering scandal in which former captain Steve Smith, his deputy David Warner and batsman Cameron Bancroft were sent home after the third Test in Cape Town.
Du Plessis (120) reached his eighth Test century as he passed 50 for the first time in 11 innings, seven of which have been single-figure scores, including a golden duck in the first innings of this Test.
His stylish innings ended when he edged seamer Pat Cummins (4-58) to a diving Peter Handscomb at second slip, also ending a fourth-wicket partnership of 170 with opener Dean Elgar (81).
Elgar’s 250-ball vigil ended shortly afterwards when he tried to attack spinner Nathan Lyon (2-116), but skied his shot to Shaun Marsh at mid-on.
Quinton de Kock (four) was trapped lbw by Cummins, who recorded the best Test match figures of his career, 9-141.
Temba Bavuma (35) and Philander (33) shared an unbeaten stand of 71 for the seventh wicket before the declaration.
South Africa’s stay at the wicket may have been frustrating for home fans, but it suited scandal-hit Australia with a draw their best outcome in the match.
There are 121 overs remaining in the game, weather permitting, a long time for Australia`s under-performing batsmen to survive, even against a depleted home attack.
South Africa also have front-line spinner Keshav Maharaj to call on, as well as part-timers Elgar, Bavuma and Aiden Markram, who have taken 15 Test wickets between them.