A full evacuation of the ground due to a fire alarm only added to the intrigue of an engaging contest between New Zealand and South Africa on the third day of their first test at Dunedin.

The Black Caps took a first innings lead for the first time in seven tests against the Proteas, stretching back to the Dunedin test of 2012.

The hosts' 33-run advantage had been turned into a five-run deficit by stumps, as the tourists moved to 38 for one, but it could be in vain; rain is forecast to disrupt the match over the weekend.

Kane Williamson delivered another Atlas-like performance with a 16th test century which helped carry his team to 341 in response to the Proteas' 308.

Advertisement

Williamson made his 16th test century, equalling Ross Taylor on New Zealand's all-time list, and leaving him one short of Martin Crowe's 17-ton record.

At 26 years and 214 days he is the third youngest player to the milestone after India's Sachin Tendulkar (24 years and 335 days) and England's Alastair Cook (26 years and 11 days).

Some company, not that Williamson will give a hoot. He's more interested in winning matches.

The right-hander was a portrait of patience in 130 runs from 241 balls in 383 minutes before Kagiso Rabada had him caught behind. The 21-year-old pace bowler generated the necessary bounce and subsequent surprise with the second new ball to get the New Zealand captain nibbling at a good length delivery.

Williamson's sense of duty saw him wait 27 balls and 40 minutes before adding to his 78 from the previous evening.

The milestone was reached paddling a full toss from Jean-Paul Duminy for a single.

B-J Watling offered support with his first half-century in 14 test innings. His last was 83 not out in the second test against Zimbabwe at Bulawayo in August.

The pair put on 84 for the sixth wicket.

That was reinforced by Neil Wagner's 32 off as many deliveries, and Ross Taylor running a single and heaving a six to finish 15 not out on his injured right calf muscle.

South Africa had reached 14 for one when a fire alarm saw the main stand, including both dressing rooms, emptied.

Fire engines arrived and the whole venue was asked to disperse.

Members of the 3296-strong crowd chanted "show me the fire".

The players remained in the middle during the incident as patrons trooped to the exits.

The Fire Service indicated the alarm in the stand was set off by steam but that still needed to be substantiated.

Play resumed after a 20-minute delay.

The morning almost matched the drama of the afternoon.

Morne Morkel had Jimmy Neesham caught behind, but the delivery came under scrutiny as to whether it was a no-ball. Third umpire Rod Tucker thought not, but there was little if anything between Morkel's boot and the painted line. One angle hinted the shadow might have been behind the popping crease. That doubt fell in favour of the bowler, given the initial decision was out, and it's hard to argue when the line is hand-painted rather than laser-beamed across the crease.

Conversely, Watling was given out abw (arm-before-wicket) on three off his 28th ball delivered by Keshav Maharaj with a 1970s disco dancing appeal.

Williamson wanted to have an immediate word, New Zealand reviewed, and his hunch that the ball was missing the stumps proved correct. The decision was reversed when the tracker trajectory boinged like a tennis ball over the stumps.

That rejection did not deter Maharaj's perseverance. He spun his way to his first five-wicket bag in his fifth test.

The slow left-arm orthodox was the best bowler, but Morkel was unquestionably the crowd favourite. A raucous section of the embankment encouraged him to "skull" his water at third man. He duly obliged, signing off by popping the empty vessel on his head boat-race style.

With former Australian batsman David Boon as match referee there was little chance of a censure.‚Äč