New Zealand are in the box seat to win the third and final Test against South Africa after leaving the tourists in a precarious position at stumps on the fourth day.
Jeetan Patel led the charge as New Zealand's bowlers wore the South Africans down, with the Proteas 80-5 and still 95 runs adrift at the close of play in Hamilton on Tuesday.
Trailing 1-0, centurion Kane Williamson and all-rounder Colin de Grandhomme helped the Kiwis to 489 - a lead of 175.
And the Black Caps are closing in on victory after Patel (2-22), De Grandhomme (1-15) and Matt Henry (1-20) sent Dean Elgar (5), Theunis de Bruyn (12) - who was involved in a comical runout - Hashim Amla (19), JP Duminy (13) and Temba Bavuma (1) back to the pavilion, with unbeaten duo Faf du Plessis and Quinton de Kock (both 15 not out) trying to block the South Africans to a draw.
De Grandhomme injected some much-needed aggression into the fourth day against the Proteas, after the Kiwis resumed on 321-4.
The 30-year-old posted his maiden half-century to help push New Zealand's lead to 175.
Only 76 runs were scored off 206 balls in the morning session before De Grandhomme arrived at the crease and hit 57 from 69.
The Black Caps had opened the day cautiously following Williamson's record-equalling century and the captain added 28 runs to his overnight score before his innings finally came to an end.
A bouncing delivery from Morne Morkel (4-100) saw Vernon Philander take a great diving catch before Mitch Santner's was dismissed off the last delivery before lunch for 41 by Kagiso Rabada (4-122).
New Zealand stepped it up after lunch, trying to make some quick runs and a fullish delivery from spinner Keshav Maharaj saw BJ Watling come unstuck having charged down the crease and completely missed the ball.
It was then up to Grandhomme to steer the ship with a pair of sixes as the stays of Matt Henry (12) and Jeetan Patel (5) were short-lived.