You are not permitted to download, save or email this image. Visit image gallery to purchase the image.
The pace duo of Dale Steyn and Rory Kleinveldt ended the day with figures of two for 14 and two for 18 respectively, while left-arm spinner Robin Peterson claimed two wickets in two balls.
After South Africa had declared 25 minutes into the evening session, New Zealand, who were bowled out for 45 on the opening morning of the two-match series, were again in disarray.
New Zealand coach Mike Hesson made no excuses for his team.
"We prepared very well, we knew what we would be confronted with, but the most disappointing thing is that when we got under pressure we weren't able to cope," he told a news conference.
"We all share the load. I can't fault the work ethic. We have a support staff that works extremely hard and behind the scenes the players have put the work in, but in this test match and the last one we just haven't been up to it.
"All we can say to the people back home is that the players are trying their very best and at the moment we are just being outclassed."
Steyn, bowling with pace and aggression with the new ball, reduced the Kiwis to eight for two after he had Martin Guptill (1) and Kane Williamson (5) both caught in the slip cordon.
Kleinveldt then took over when he had Dean Brownlie (10) caught behind by keeper AB de Villiers and Daniel Flynn (0) lbw as New Zealand slumped to 27 for four inside 16 overs.
Captain Brendon McCullum battled his way to 13 off 61 balls before he edged a delivery from Peterson to Jacques Kallis playing an extravagant drive. Debutant Colin Munro was caught at short-leg from the next delivery.
South Africa batsman Faf du Plessis said the hosts could not have asked for much more over the first two days of the test.
"We've had two excellent days," he said. "Yesterday was hard-fought with the bat. Today was the same to a degree up until lunch, and then with the ball we did everything right so it was very close to the perfect day.
"There was a lot of swing on offer, and when Dale Steyn gets a bit of swing he's very hard to face, so I can understand that it was tough for New Zealand."
Hashim Amla, Du Plessis and Dean Elgar all reached three figures for the world No1 side.
Du Plessis, who began the day on 69, eventually scored 137 off 252 balls with 14 fours and two sixes before he became medium-pacer Munro's first test wicket when he was caught in the covers.
Elgar brought up his first ton, in his third test, off what turned out to be the last ball of South Africa's innings to end not out on 103 off 170 deliveries with 14 fours and a six.
Elgar and Du Plessis combined for a partnership of 131 off 38.5 overs, a South African sixth-wicket record stand against New Zealand, beating the previous best of 126 scored by Darryl Cullinan and Shaun Pollock at Auckland in 1998.
Amla added just four runs to his overnight total before he was caught down the leg-side by keeper Watling off a delivery from left-arm seamer Trent Boult.
He was out for 110 off 235 balls with his innings including eight fours while he and Du Plessis put on 113 runs for the fifth-wicket off 36.5 overs.
South Africa hold a 1-0 series lead.