An unbeaten 69 from Dean Brownlie helped New Zealand reach 169 for four in their second innings on day two of the first Test against South Africa on Thursday.
The Proteas, who dismissed the touring side for just 45 on day one, declared their first innings on 347 for eight shortly after lunch with a lead of 302 and they were still 133 runs ahead at the close.
But New Zealand, largely through Brownlie and captain Brendon McCullum who made 51, offered much stronger resistance second time round, responding well to widespread condemnation of their woeful performance on Wednesday.
New Zealand also bowled better in the morning session and made the ideal start when Trent Boult forced Alviro Petersen to play on after adding just three runs to his overnight score of 103.
New Zealand first innings 45 all out
South Africa first innings
G Smith lbw b Bracewell 1
A Petersen b Boult 106
H Amla lbw b Franklin 66
J Kallis c Watling b Boult 60
AB de Villiers b Martin 67
F du Plessis c Williamson b Martin 15
D Elgar c Watling b Boult 21
R Peterson b Martin 5
V Philander not out 0
TOTAL (for 8 wickets declared) 347
Did not bat: Dale Steyn, Morne Morkel.
Fall of wickets: 1-1, 2-108, 3-212, 4-255, 5-281, 6-335, 7-342, 8-347.
New Zealand second innings
M Guptill c Amla b Steyn 0
B McCullum lbw b Peterson 51
K Williamson c Petersen b Kallis 15
D Brownlie not out 69
D Flynn c de Villiers b Kallis 14
BJ Watling not out 10
Extras: (1b, 8lb, 1w) 10
TOTAL (for 4 wickets) 169
Fall of wickets: 1-0, 2-29, 3-118, 4-155.
Early morning rain had cleared two hours before the start of play, but the ominous grey skies remained for much of the morning and AB de Villiers and Faf du Plessis had to survive an awkward period in which the pitch offered the seamers lateral movement.
The disciplined bowling soon accounted for Du Plessis, whose Test average of 146.50 after two matches took a hit when Chris Martin had him caught at gully for 15 with the score on 281.
Dean Elgar received an ironic ovation from the home crowd when he made his first run in Test cricket at the third time of asking and De Villiers brought up his 30th Test fifty with consecutive boundaries off Boult.
Boult dismissed Elgar just before lunch when he edged a catch to wicketkeeper BJ Watling for 21.
Graeme Smith declared the South African innings shortly after the interval and the Black Caps' got off to the worst possible start when opener Martin Guptill clipped a leg-side delivery from Dale Steyn straight to mid-wicket in the first over.
McCullum and Kane Williamson dug in to prevent the touring side from collapsing but Williamson should have been out in the eighth over as umpire Ian Gould turned down a massive lbw appeal from Vernon Philander who took five wickets in the first innings.
Smith's failure to call for the review proved costly as replays showed that the decision would have been reversed.
Two overs later Philander did call for a review for a caught behind, but replays were inconclusive and Williamson survived again.
Williamson's gritty innings ended in the penultimate over before tea as Jacques Kallis had him caught at second slip for 15 with the score on 29.
McCullum was next to get a reprieve as Kallis failed to hold on to a difficult chance at second slip.
The partnership with Brownlie continued at high pace and the game appeared to be getting away from South Africa as McCullum reached his half-century.
But the decision to replace Philander with spinner Robin Peterson proved a fruitful one as he trapped McCullum lbw in his second over.
McCullum opted for a review, but the decision stood to leave the visitors at 118 for three following an 89-run stand off just 81 deliveries.
Losing his partner slowed Brownlie but he went on to reach his fourth Test fifty off 44 balls.
Kallis broke a partnership of 37 between Brownlie and Daniel Flynn when the left-handed Flynn was well caught by wicketkeeper De Villiers for 14 off an inside edge.
Brownlie survived another review for a caught behind off Steyn and he and Watling negotiated the remaining overs of the day and will resume on scores of 69 and 10 not out respectively.