New Zealand rallied led by Colin de Grandhomme's century but South Africa remain well placed with a 211-run lead after three days of the second Test at Christchurch's Hagley Oval.
The Proteas reached stumps at 140-5 with Kyle Verreyne (22*) and Wiaan Mulder (10*) at the crease after securing a 71-run first-innings advantage having bowled out the hosts for 293 led by Kagiso Rabada's five-wicket haul
New Zealand had resumed trailing by more than 200 runs with five wickets in hand, but de Grandhomme's 133-run sixth-wicket stand with Daryl Mitchell narrowed the deficit.
De Grandhomme remained unbeaten 120*, notching up his second Test century prior to lunch, after Mitchell was trapped lbw by Keshav Maharaj for 60.
Rabada (5-60) and Marco Jansen (4-98), who had employed a short-ball plan, finished off the Black Caps' resistance in the second session despite Neil Wagner's aggressive 21 from 18 balls that included three fours and a six.
New Zealand offered hope with three early breakthroughs, reducing South Africa to 38-3 with Tim Southee (2-28) dismissing both openers.
Southee trapped first-innings centurion Sarel Erwee lbw for 8 in the third over with an inswinger which the opener reviewed without success.
Tom Blundell pulled off a brilliant one-handed catch in the 11th over as Southee drew an edge from Dean Elgar bowling around the wicket.
Rassie van der Dussen steadied South Africa's innings with 45 before being caught and bowled by workhorse Wagner (2-44) who also took Temba Bavuma's wicket in the final session during a tireless spell.
Verreyne and Mulder took the Proteas' lead past 200, although New Zealand will remain hopeful of claiming the final five wickets promptly on day four and chasing a target below 300.
Black Caps remain hopeful
New Zealand are incredibly chasing their first-ever Test series victory over South Africa and would have been confident of achieving that after a dominant first Test triumph.
The Proteas are in control but de Grandhomme suggested there was hope within the camp. He said: "I think it's in the balance, they're a bit ahead, but if we can get a few quick wickets tomorrow, we can be back in it."
Rabada claims 11th Test five-fa
Rabada wrapped up the New Zealand batting innings with wickets from successive deliveries, utilizing the short ball for both dismissals.
The pair of wickets earned 26-year-old Rabada his 11th Test five-wicket haul but he is likely to have more work to do, ahead of the Black Caps' final-innings chase.