An unbeaten 69 from Dean Brownlie helped New Zealand reach 169 for four in their second innings on the second day 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, reponding well to widespread condemnation of their woeful performance on Wednesday.
They were helped by some unusually fallible South African close catching with Brownlee getting let off twice in the final session and McCullum once.
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.
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.
Martin, who finished with three for 63 from 19.2 overs, said there had been some straight talking in the dressing room after the first day's performance which had been reflected in a much-improved display on Thursday.
"I think compared to yesterday it was immense," he said. "The way we turned up with the ball was a lot better and more consistent. We dried up the runs up and it eventually brought us five wickets, which was a nice way to do it."
"I think that set the tone for the way our batters have gone out there and put up a much sterner fight for the team today.
"I think harsh words probably wouldn't have helped. They were quite reasoned, quite straightforward and I think a lot of guys have had to put it to one side and deal with it another time.
"I think the best way to deal with it was shown by the way that they applied themselves today."
Petersen was critical of his team's performance in the final session.
"I think we just played terrible cricket. The bowling wasn't up to scratch, our catching wasn't up to scratch. It's quite frank, we didn't bowl that well and for that hour or so it was not the standard that we set ourselves," the Proteas opener said.