Jacques Kallis struck 131 to guide South Africa to 272-3 in reply to New Zealand's first innings of 188 all out on the second day at Centurion.
Kallis shared a 220-run, third-wicket stand with Hashim Amla after Chris Martin's two wickets with the new ball had South Africa in early trouble at 31-2.
The partnership had echoes of the first Test when Amla and Kallis put on 330 in the second innings to set-up a 358-run victory for the hosts.
Makhaya Ntini (2-52) required just four balls in the morning to finish off New Zealand's first innings by having Martin (0) caught in the slips.
Craig Cumming, who retired hurt on the first day after having his cheekbone fractured by a Dale Steyn bouncer, was unable to return to the crease meaning New Zealand's first innings finished at 188.
That total began to look mildly promising when Martin bowled a lively spell with the new ball, inducing a familiar drag back onto the stumps from Graeme Smith (2) and destroying the furniture of a lead-footed Herschelle Gibbs (25).
But it proved a false dawn for the Black Caps, who badly missed the pace of the injured Shane Bond, as Kallis and Amla repaired the early damage to reach 103-2 at lunch.
The third-wicket partnership blossomed during the afternoon, adding 148 runs in the session between lunch and tea, during which Kallis reached his 29th Test century.
He was eventually trapped lbw to become Mark Gillespie's (1-84) maiden Test wicket in the first over after tea, having stroked 17 fours and two sixes during a magnificent 177-ball knock - a fifth century in his last seven Test innings.
Amla (89no) and Ashwell Prince (8no) accepted an offer of bad light after just seven overs of the evening session. That was the last action of the day, meaning South Africa will resume on Sunday already holding an 84-run lead and in a strong position to force victory and a 2-0 whitewash.