New Zealand recovered from the early onslaught to reach 50 for three at lunch today, with captain Stephen Fleming on 24 and Nathan Astle on 20.
The pitch proved almost impossible for batsmen in the first half hour, with bounce and extravagant movement off the seam.
Both opening batsman were dismissed without scoring before Fleming scored the first runs in the sixth over.
Dale Steyn struck with his second ball in the second over of the match when Jamie How edged an out-swinger to AB de Villiers at third slip. How was playing his first match of the series, replacing Peter Fulton, who had a back injury.
Makhaya Ntini bowled Michael Papps in the fifth over, with Papps playing on to his stumps when the ball bounced and cut back sharply.
Scott Styris was the third man to be out for nought when he edged Ntini and De Villiers dived to his left to take another catch at third slip.
Although conditions remained difficult, Fleming and Astle dug in and added an unbeaten 48, although Fleming was dropped on 24 off the last ball before lunch when Jacques Kallis at second slip put down a routine chance off Steyn.
All-rounder Shaun Pollock returned to the South African side after missing the second Test because of a lower back injury, while fellow all-rounder Andrew Hall was selected in an all-seam attack. Pollock and Hall replaced fast bowler Andre Nel and left-arm spinner Nicky Boje.
New Zealand also showed two changes from the side that drew the second Test in Cape Town. How replaced Fulton, while seam bowler Kyle Mills came in for off-spinner Jeetan Patel.
The start of play was delayed by 15 minutes because of dew. The match is being played unusually late for a South African season and groundsman Chris Scott had to erect a tent and use heating fans to help him prepare a pitch in cool conditions with short day length.
South Africa, currently sixth to New Zealand's fifth in the International Cricket Council Test rankings, lead the series 1-0 and a win or a draw will mean the two sides swop places.