The tourists showed far more determination with the bat than they had in their first innings when they subsided to 121 all out in reply to the top-ranked hosts's 525-8 declared.
Martin Guptill [ Images ] held the second innings together with 40 not out off 101 balls while Dean Brownlie had yet to score when the tea break arrived.
Left-arm spinner Robin Peterson captured the two wickets to fall during the session when he trapped Brendon McCullum [ Images ] (11) leg-before to leave New Zealand on 40 for one before he bowled Kane Williamson [ Images ] (11) just before the break with a delivery that kept low.
Peterson's figures of two for 12 off eight overs made him the pick of the vastly talented Proteas attack.
The morning session had belonged to speedster Dale Steyn [ Images ], the World's top-ranked bowler, who claimed five for 17 off 13 overs to bundle New Zealand out 30 minutes before lunch, at that stage trailing South Africa by 404 runs.
BJ Watling provided the one shining light for the tourists in their first dig as his battling 63 off 87 balls with 13 fours added some gloss to the innings.
New Zealand began the day on a parlous 47 for six and the pair of Watling and Doug Bracewell (7) added 14 runs to the overnight total before the right-handed Bracewell prodded at a Steyn delivery to send an outside edge through to keeper De Villiers.
Steyn struck again one run later when he trapped the left-handed Neil Wagner (0) leg-before with an in-swinging delivery.
The 29-year-old Steyn was not done yet and in his next over he bowled Jeetan Patel [ Images ] (0) after the batsman backed away from a good length delivery.
Steyn enjoyed a wonderful morning as he claimed his 19th five-wicket haul in Tests as he sent down a spell that produced figures of 5-3-3-3.
Watling and Trent Boult (17 not out) then provided some late resistance with a last-wicket stand that produced 59 runs, a New Zealand record 10th-wicket partnership against South Africa beating the 57 scored by Simon Doull [ Images ] and Richard de Groen scored in Johannesburg during the 1994/95 season.
The aggressive Watling was the last man out, caught at first slip off the bowling of paceman Morne Morkel [ Images ].
South Africa hold a 1-0 series lead.