Chris Martin and James Franklin inspired a South African collapse at The Wanderers which laid the groundwork for the BLACKCAPS’ second-innings lead at stumps on day two of the third Test.
Jacob Oram (19) and Daniel Vettori (21) were unbeaten with their team on 214 for six when bad light stopped play, with rainfall in Johannesburg ending any prospect of a return.
Earlier, Martin completed a five-wicket innings and Franklin claimed two more scalps as the Proteas fell from 133 for four to 186 all out.
The morning session saw the New Zealanders remove their hosts within 11 overs as the early-morning conditions at The Wanderers again assisted the seam bowlers.
AB De Villiers (two) was removed by Franklin, caught well by Scott Styris. Mark Boucher followed soon after, trapped lbw by the left-armer without scoring.
Ashwell Prince (four) clipped a Martin delivery to the waiting gloves of Brendon McCullum, the State Auckland Ace also claiming Andrew Hall (five) and then Dale Steyn (two) in successive overs.
Shaun Pollock was the mainstay of the lower order, carrying his bat for 32 off 41 deliveries, including two sixes, but the wickets tumbled at the opposite end.
Kyle Mills wrapped up the innings when Makhaya Ntini (eight), was caught by McCullum.
Kallis and Dale Steyn earlier looked to have put the hosts in control by removing openers Michael Papps (15) and Jamie How (4) with the tourists still 27 runs short of the Proteas' first innings total of 186.
How fell first, lbw to Kallis in the third over, with Papps edging a Steyn delivery to Andrew Hall at second slip with the final ball before lunch.
AB de Villiers made up for dropping Fleming when the Black Caps captain flashed outside off stump and edged to him at second slip.
The afternoon session saw Jacques Kallis claim Stephen Fleming (37), but Scott Styris and Nathan Astle took the score on.
Both men did fall after tea, their stand of 76 ended by Steyn, who saw Astle caught behind moments after he was dropped in the slips, and then catching a mis-timed Styris pull shot off his bowling.
Shaun Pollock was then fortunate to have gained the benefit of the doubt to remove McCullum (five), but Oram and Vettori established a lead of 147 by the time play ended.