Australia had South Africa right where they wanted them, but Hashim Amla and AB de Villiers have seized control of the second Test in Johannesburg with a magnificent unbeaten 139-run stand.
The Proteas are 3-229 and lead by 199 runs after day three of a match Australia must win to square the series.
When Amla (89 not out) and de Villiers (70 not out) came together before lunch, South Africa were reeling at 3-90 - just a 60-run advantage over Australia's first innings total of 296.
However, the experienced pair have dug in their heels for more than 41 overs, and Australia are in grave danger of being batted out of the match.
Bad light ensured a premature call for stumps in front of a big crowd on Saturday, which honoured the passing of South African-born England Test player Basil D'Oliveira, aged 80, and wore pink for the McGrath breast cancer foundation.