A late double blow by Chris Martin and Scott Styris aided the BLACKCAPS' cause after a dream start for South Africa on the first day of the third Test at The Wanderers.
Martin and Styris accounted for in-form Hashim Amla (56) and Proteas vice-captain Jacques Kallis (nine) respectively in successive overs to leave the Proteas on 133 for four when bad light ended play.
Earlier, prolific pace pair Makhaya Ntini and Dale Steyn shared the bulk of the wickets as the tourists fell to 119 all out.
Captain Stephen Fleming again top scored, but his 46 was a far cry from his double-hundred in Cape Town.
The skipper shared a 54-run stand with Nathan Astle, while Jacob Oram (18) and James Franklin (19) added 36 for the eighth-wicket before the team was dismissed in 44 overs.
Graeme Smith won the toss and inserted the BLACKCAPS, and his decision paid off handsomely.
After the match had been delayed by 15 minutes because of overnight dew, the hosts enjoyed a fine morning session.
Ntini finished with five for 35 and Steyn three for 45 after prospering early on. Three BLACKCAPS batsmen were removed in the first seven overs, for only two runs conceded.
Jamie How, returned to the side for the injured Peter Fulton, was the first to fall, caught for a duck by AB de Villiers at third slip off Steyn. Michael Papps then followed his opening partner back when he was bowled by Ntini.
Scott Styris also failed to trouble the scorers, edging an Ntini delivery to De Villiers.
Fleming followed next, adjudged caught behind by Mark Boucher off Ntini - although television replays suggested the ball had hit his thigh pad.
Oram and Franklin took their side over three figures but could not push on, falling to Shaun Pollock (lbw) and Andrew Hall (c Boucher) respectively.
The Proteas’ reply began in similar fashion to their visitors as Chris Martin removed Boeta Dippenaar in the first over.
But Newlands centurion Hashim Amla joined Smith at the crease, and put on 98 before the skipper was caught by Brendon McCullum off Franklin for 63.
Late in the day, Martin and Styris removed the dangerous duo, leaving Ashwell Prince and AB De Villiers as the not out batsmen, with one run apiece.
Play on day two commences at 7.30pm NZT (9.30am local time).