Hashim Amla scored his 19th Test century and steered South Africa to 325 for four at stumps on day one in the second Test against New Zealand at St George's Park in Port Elizabeth on Friday.
The Kiwis missed a chance when Amla, on 48, went after a wide delivery from Trent Boult and was dropped by Williamson in the gully. He went on to score his 19th Test hundred -- his fourth against New Zealand -- in 187 balls with eight boundaries.
Amla and Faf du Plessis added an unbeaten 102 runs for the fifth wicket, with the batsmen on 106 and 69 respectively.
Du Plessis, however, also enjoyed a lucky escape on 42, when the ball brushed his glove on the way through to the keeper. It was Boult's first over with the new ball and, although he appealed, captain Brendon McCullum thought it was not worthy of a review.
The batsmen rotated the strike well throughout the day and never allowed the Kiwi bowlers to get comfortable. For a while, New Zealand managed to slow down the run rate after tea but, in the end, it turned out to be South Africa's most prolific period, adding 134 in the last session, for the loss of one wicket.
AB de Villiers had looked set for a big score but, like his three teammates before him, he threw away his wicket. He took a few paces down the pitch to spinner Jeetan Patel and, trying to hit him over mid-wicket, sent the ball straight down the throat of Kane Williamson for 51.
While the numbers in the stands were disappointing for the first day of the Test -- the first played in Port Elizabeth in over five years -- the atmosphere from the brass band and festive crowd more than made up for it. Their popular renditions were infectious as De Villiers, during his innings, reached the milestone of scoring 6000 Test runs, playing in his 82nd Test.
Alviro Petersen and Graeme Smith started the morning scoring freely until Doug Bracewell bowled a short delivery which Petersen attempted to hook. Instead, he top-edged into the safe hands of Patel at fine-leg and Petersen was out for 21.
Shortly after reaching his half-century, Smith gloved a delivery from Neil Wagner down the leg-side into the hands of wicketkeeper BJ Watling for an easy catch. His 54 came off 88 balls and included eight boundaries.
Jacques Kallis then got off the mark dispatching Bracewell's short ball to the mid-wicket boundary for four. The next delivery was also short and this time Kallis smashed it along the ground, square of the wicket for four.
Bracewell won the battle though when he had Kallis caught behind in the bowler's next over, without adding to his score of eight.
The hosts, who lead the series 1-0, made one forced change to the team which beat New Zealand in Cape Town, with seam bowler Rory Kleinveldt replacing the injured Vernon Philander.
The Black Caps fielded three South African-born players in their eleven. Colin Munro, born in Durban, replaced the injured James Franklin and left-arm seamer Neil Wagner was given an opportunity instead of Chris Martin.
Wagner learnt his cricket at Afrikaans High School for Boys in Pretoria and made his first-class debut in 2005-06 for Northerns. He represented the National Academy side before plying his trade overseas.
Wicketkeeper BJ Watling hailed from Durban but moved to New Zealand when he was ten.