New Zealand made an encouraging start in response to South Africa's first-innings total of 314 all out to leave the third Test in the balance after day two.
Quinton De Kock (90) made the most significant contribution to the tourists' total at Seddon Park in Hamilton as rain again played a part on Sunday.
Matt Henry (4-93) led New Zealand, but they were frustrated by South Africa's lower order after getting the big wicket of Faf Du Plessis (53).
In response, the under-fire Tom Latham (42) and Jeet Raval (25) reached stumps at 67-0, as the Black Caps' deficit was reduced to 247 runs.
Latham, in poor form but having taken a stunning catch to remove Du Plessis, and Raval battled against some good bowling, particularly from Morne Morkel (0-13) and Vernon Philander (0-15).
It leaves the hosts in a solid position in the final Test of the series, which South Africa lead 1-0.
The tourists resumed at 123-4 but quickly lost Temba Bavuma (29), who edged Henry to Raval at first slip as he tried to pull.
Du Plessis and De Kock looked comfortable until the former was dismissed thanks to a brilliant piece of fielding by Latham.
With a Mitchell Santner (1-24) delivery in flight, Latham made his move from short leg as Du Plessis shaped for a paddle sweep, before taking a one-handed catch.
Philander only made 11 but in the process became the sixth South African to bring up 1,000 Test runs and take 100 wickets.
Rain intervened during the second session as De Kock took control, with Kagiso Rabada providing some quick runs with a 31-ball 34.
The aggressive De Kock fell short of a century, trapped in front by Neil Wagner (3-104) despite trying his luck with a review after guiding South Africa to a competitive total.
New Zealand's opening partnerships have been a problem throughout the series, Latham and Raval putting on an average of 14 in the first two Tests.
Latham was given out caught behind for one, but replays showed Philander's delivery down leg clipped his pad after the opener reviewed.
He survived a second review, this time for lbw, as a Morkel delivery pitched outside leg before hitting him high on the pads.
Philander and Morkel in particular were probing, but the openers survived before bad light stopped play.