WELLINGTON South Africa's bowlers captured the valuable wicket of centurian Kane Williamson and bogged New Zealand down as the hosts inched to 304 for eight at tea on the third day of the first test at University Oval in Dunedin on Friday.
The hosts had resumed after lunch on 247 for five in their pursuit of South Africa's first innings tally of 308 but were unable to build any momentum after the Proteas took the second new ball.
Such was the tight line and length of the bowling, Mitchell Santner hit the fourth delivery he faced back over Kagiso Rabada's head for a boundary but was caught by Keshav Maharaj off Morne Morkel 38 balls later without adding to his score.
Neil Wagner was on four with Trent Boult yet to score at the break after wicketkeeper BJ Watling had been bowled by Maharaj for a round 50 -- his 13th test half century -- less than 10 minutes before tea.
New Zealand captain Williamson, who brought up his 16th test century before lunch, moved through to 130 in the second session before edging a Rabada delivery that just seamed away off a length through to wicketkeeper Quinton de Kock.
Williamson joined injured team mate Ross Taylor in second place on the all-time list for test centuries for New Zealand behind Martin Crowe, who scored 17.
New Zealand could effectively be nine down, with Taylor undergoing scans on Friday on the injured right calf which forced him to retire hurt on Thursday.
New Zealand Cricket said the 33-year-old had a low grade tear and may bat again if required, although it was too early to determine the long-term prognosis.
The hosts were also unlucky to have allrounder Jimmy Neesham dismissed in controversial circumstances before lunch when he nicked a Morkel delivery through to de Kock while on seven.
Television replays showed that none of Morkel's foot was grounded behind the line, indicating a no ball.
Third umpire Rod Tucker, however, ruled that as Morkel's heel, which was in the air, was behind the line when the front of his foot touched the ground, the delivery was fair.
Vernon Philander also dismissed nightwatchman Jeetan Patel for 16 in the first session after the hosts had resumed on 177 for three.
(Reporting by Greg Stutchbury; Editing by Nick Mulvenney)