New Zealand led South Africa by five runs after reaching 243 for nine at stumps on day two of the first Test in Dunedin.
Brendon McCullum (48), captain Ross Taylor (44) and Daniel Vettori (46) all looked well set but fell short of half-centuries, Vernon Philander the pick of the Proteas' attack with four for 50 from 17 overs.
The Black Caps earlier cleaned up the final three South Africa wickets this morning to dismiss the tourists for 238.
Resuming on 191 for seven, Philander became the first wicket of the day and Chris Martin's fourth scalp of the innings when he was caught at gully by Kane Williamson for 22.
Jacques Rudolph added the four runs he needed to post his 10th Test half-century but then departed for 52. He was caught at point by Trent Boult off the bowling of Doug Bracewell.
Imran Tahir's departure wrapped things up for the hosts, the number 11 batsman run out by a combination of Bracewell and Vettori as he attempted a third run.
New Zealand's reply got off to a rocky start when opener Rob Nicol (six) edged a Philander delivery to Graeme Smith at first slip.
Martin Guptill and McCullum helped the home team regroup with no further disruption before lunch, but the Proteas kept plugging away after the interval and snared four further wickets in the middle session to get back on the front foot.
The dismissal of in-form Guptill - bowled off an inside edge by Morne Morkel for 16 straight after the restart - saw Taylor join McCullum in the middle.
The pair shared a 65-run stand for the third wicket and both looked to have played themselves in, only for McCullum to get a leading edge and find himself caught and bowled by Tahir for 48.
Taylor followed the number three batsman back to the pavilion soon after when, on 44, he got an outside edge to a short, wide ball from Morkel and was snapped up by wicketkeeper Mark Boucher.
Williamson hung around for a while but fell for 11 shortly before tea, nicking a Philander delivery which was again caught behind as South Africa made steady progress.
The wickets continued to tumble in the evening session. Vettori the first to go when he was caught in two minds and played straight back to Jacques Kallis, who dived forward to take a fine catch running in.
Kruger van Wyk had contributed 36 before he edged Philander to Smith at first slip, with Tim Southee departing two balls later to the same combination before he could trouble the scorers.
New Zealand had just edged past South Africa's total by the time Dale Steyn finally got some reward for his day's toil with a wicket from his final ball of the day, bowling Bracewell past his outside edge for 25.
Boult (eight) and Martin (nought) were the not-out batsmen at the close.