At lunch the visitors were 508 for seven in their second innings, an overall lead of 506 with three wickets in hand, having looked out of the match on the second day.
The injured Dale Steyn was not expected to bat and would not bowl in Australia's second innings due to a shoulder injury that has ruled him out for at least six months.
Vernon Philander was 63 and Keshav Maharaj was 19.
It was largely a miserable morning session for the beleaguered Australians, with the home side having two dismissals overturned by decision reviews, while a catch was dropped.
More From This Section
The review showed it came off the thigh pad.
De Kock was again given out lbw to spinner Nathan Lyon on 47, this time by Nigel Llong, only for the review to reveal the ball brushed his glove.
Philander also enjoyed a life on 29, when Hazlewood dropped a simple catch on the boundary.
Australia finally claimed the wicket of de Kock for 64 to end a 116-run partnership with Philander.
South Africa's massive total was underpinned by 141 from JP Duminy and 127 from Dean Elgar, the pair putting on 250 for the third wicket to strengthen a remarkable comeback after their terrible first day.
Australia will have to produce the greatest-ever fourth innings run chase at the ground to win the match.
But the home team will take heart from the 2008 Test between the two sides, when South Africa chased down 414 on the final day with ease.