Australia took control on day three of the first test at Kingsmead, bowling South Africa out for 284 to lead by 106 before reaching 33-0 at stumps to stretch their advantage to 139 on Sunday.
Only 5.4 overs were possible in Australia’s second innings before bad light stopped play at 16:30, but Nick Maddinson, out for a 33-ball duck in the first innings, made an instant statement, hooking Marco Jansen’s first ball for four and later clipping Wiaan Mulder for six.
South Africa resumed on 27-1 and started well through Aiden Markram (37) and David Bedingham (49), who put on 84 off 115 balls for the second wicket on a flat pitch.
Both then fell to loose shots outside off stump, edging to slip.
Temba Bavuma was tied down for three runs off 27 balls before reverse-sweeping Nathan Lyon to Steve Smith at slip.
Smith took three slip catches in the innings to become the leading outfield catcher in test history with 223.
Wiaan Mulder (30) and Tristan Stubbs (32) added 56 for the fifth wicket before both fell hooking Pat Cummins.
Kyle Verreynne also fell reverse-sweeping Lyon to Smith.
Marco Jansen hit 26 off 20 balls before late resistance from Simon Harmer and Keshav Maharaj, who added 52 for the ninth wicket, and Harmer and Anrich Nortje, who added 35 more.
Day four begins at 9:30 on Monday morning, with all the action live on SuperSport.