Captain Kane Williamson equalled the New Zealand record for Test centuries as his side reached 321 for four at the close of day three of the third Test against South Africa in Hamilton on Monday.
The 26-year-old joined former captain Martin Crowe on 17 Test centuries when he hit a full toss from Dean Elgar to the fence for his 10th boundary.
Williamson had moved to 148 at stumps with Mitchell Santner on 13, the home side holding a seven run lead over South Africa's first innings of 314.
Williamson also surpassed 5,000 Test runs, the fastest New Zealander to do so in his 110th innings. Just five other of his countrymen have reached the mark.
The skipper shared in a 190-run partnership with opener Jeet Raval, who passed 50 for the fifth time and proved the perfect foil to the New Zealand skipper during a knock of 88.
The lefthander was dropped on 83 by South Africa captain Faf du Plessis and then got bogged down as he battled against the second new ball.
He failed to score a run for 25 deliveries before hitting Kagiso Rabada for a boundary but he fell shortly after when wicketkeeper Quinton de Kock took a brilliant, diving catch with one hand from an inside edge off Morne Morkel.
Tom Latham was the first wicket to fall when the opener became Morkel's 250th Test scalp during the first session which was delayed for 90 minutes due to overnight rain.
Rabada slowed New Zealand's momentum in the final hour of play when he trapped Neil Broom in front for 12 and then had Henry Nicholls caught by De Kock on his next delivery. Santner, however, thwarted the hat-trick ball.
South Africa lead the series 1-0 having won the second game in Wellington by eight wickets. The rain-hit first Test in Dunedin ended in a draw.
South Africa first innings 314
New Zealand 1st innings (overnight 67-0)
T Latham c de Kock b Morkel 50
J Raval c de Kock b Morkel 88
K Williamson not out 148
N Broom lbw Rabada 12
H Nicholls c de Kock b Rabada 0
M Santner not out 13
Extras: (lb3, nb7) 10
Total: (4 wickets, 104 overs) 321
Fall of wickets: 1-83, 2-273, 3-293, 4-293
Bowling: Philander 25-6-59-0, Morkel 24-5-74-2, Rabada 21-1-83-2, Maharaj 29-2-71-0, Duminy 4-0-18-0, Elgar 1-0-13-0.
Image: New Zealand captain Kane Williamson is congratulated by teammate Jeet Raval on completing his century on Day 3 of the 3rd Test at Seddon Park in Hamilton, New Zealand, on Monday.
Photograph: Dave Rowland/Stringer/Getty Images