Quinton de Kock frustrated New Zealand with a defiant 90 to lift South Africa's first innings up to 314 on a rain disrupted second day of the third Test in Hamilton.
New Zealand were set to face 29 overs before stumps, although there was the probability this would be affected by bad light and further rain.
On another frustrating day for the players, only 26 balls were possible between lunch and tea after nearly three hours of play were lost to rain the previous day.
Just as he did in the second Test in Wellington where his first-innings 91 set up South Africa's eight-wicket victory, de Kock again tormented New Zealand with his trouble-free approach while wickets fell around him.
He faced 118 balls in his 160-minute innings which highlighted why captain Faf du Plessis was determined to have him play despite the wicketkeeper-batsman suffering ligament damage to his right index finger.
De Kock went to the wicket following the wicket of Temba Bavuma early in the day when South Africa were 148 for five and his innings included 11 fours and two huge sixes, one off Jeetan Patel and one off Matt Henry.
Bavuma looked comfortable on 29 until he tried to pull a Henry short ball which caught the toe of the bat and flew through to Jeet Raval at first slip.
Du Plessis, on 53, was removed by a stunning one-handed catch from Tom Latham at short leg.
Latham anticipated the South African skipper was lining up to sweep spinner Mitchell Santner and was already leaping to his right before the ball was hit.
He was again in the action, taking a catch low down at second slip when Vernon Philander on 11 edged a swinging Henry delivery.
Keshav Maharaj went for nine in the brief period of play after lunch when his attempt to fend off a Neil Wagner bouncer was gloved through to BJ Watling behind the stumps.
Kagiso Rabada added a rapid 34 off 31 balls before he was the last wicket to fall.
Recalled quick Matt Henry finished with four for 93 and Wagner, who mopped up the tail, took three for 104.