Chasing the home team's first innings total of 297, openers Herschelle Gibbs and skipper Graeme Smith shared a stand of 103 before Jacques Rudolph and Martin van Jaarsveld followed up with an unbeaten alliance of 101 for the fourth wicket.
Rudolph ended the day undefeated on 60, with van Jaarsveld 48 not out. But New Zealand did not help their cause by dropping two catches.
Van Jaarsveld was given a life on 23 when he chopped Chris Cairns above 6-foot-7 Jacob Oram's head but the gully fielder could not hold on to the ball.
Rudolph was then dropped by Mathew Sinclair at mid-wicket, a relatively simple head-high chance which went straight to him.
Earlier, Smith and Gibbs gave South Africa a flying start before the captain went for 47 after chopping a ball from Cairns on to his stumps.
Gibbs was dismissed for 77 by a brilliant catch from substitute fielder James Marshall, who hung on to a full-blooded drive at point off Chris Martin's bowling.
South Africa should have lost Gibbs when he was 46 as he edged an attempted pull off spinner Daniel Vettori to wicketkeeper Brendon McCullum.
Television replays showed he nicked the ball but umpire Asoka de Silva of Sri Lanka was unmoved.
Gary Kirsten, playing in his last Test, was the third wicket to fall, caught behind for one in Martin's next over.
All-rounder Jacques Kallis, suffering from a torn abdominal muscle, has been pushed down the order
New Zealand added 49 runs in the morning session after resuming at 248 for six, Cairns hitting 69 and Oram 34.
South Africa spinner Nicky Boje took four for 65 and all-rounder Shaun Pollock claimed three for 85.
New Zealand lead the series 1-0.
Scorecard:
New Zealand first innings
M.Richardson c Boucher b Kallis 14
M.Papps lbw b Ntini 7
S.Fleming c Pollock b Boje 30
M.Sinclair lbw b Boje 74
S.Styris b Boje 1
B.McCullum lbw b Pollock 55
C.Cairns b Pollock 69
J.Oram st Boucher b Boje 34
D.Vettori c Boucher b Pollock 0
M.Mason c van Jaarsveld b Nel 3
C.Martin not out 1
Extras (lb-1 b-2 w-1 nb-5) 9
Total (all out) 297
Fall of wickets: 1-23 2-23 3-90 4-97 5-163 6-248 7-257 8-257 9-264
Bowling: Pollock 29-2-85-3 (nb-4 w-1), Ntini 21-6-63-1 (nb-1), Kallis 7-5-4-1, Nel 27-9-77-1, Boje 20-2-65-4
South Africa first innings
G.Smith b Cairns 47
H.Gibbs c sub b Martin 77
J.Rudolph not out 60
G.Kirsten c McCullum b Martin 1
M.van Jaarsveld not out 48
Extras (nb-3 lb-1) 4
Total (for three wickets) 237
Fall of wickets: 1-103 2-130 3-136
Bowling: Martin 13-5-34-2 (nb-1), Mason 13-4-59-0, Oram 8-3-10-0, Vettori 23-5-71-0, Cairns 11-2-44-1 (nb-2), Styris 6-2-18-0
To bat: J.Kallis, M.Boucher, S.Pollock, N.Boje, M.Ntini, A.Nel.