South Africa have skittled New Zealand for 121 on the morning of day three in the second Test.
The Proteas tore apart the New Zealand upper order in the evening session of day two and continued that dominance at the resumption of play.
The visitors ended the day on 47-6 and lost the remaining four wickets for 74 runs, with Dale Steyn picking up his 19th five-for on the way.
The first to go was Doug Bracewell for seven, quickly followed by Neil Wagner and Jeetan Patel for ducks.
There was late resistance by BJ Watling, who hit a series of swift fours on his way to a half-century, and Trent Boult with the pair putting on 59 before Watling eventually fell for 63.
New Zealand end the first innings 404 runs behind of their hosts and will likely be asked to follow on.
Steyn finished with figures of 5-17.