Centurion: Faf du Plessis hit his career-best 199 as South Africa post a massive 621 against Sri Lanka in the first innings and took a lead of 160 on day three of the first Test on Monday.
Sri Lanka ended the day on 65 for two in their second innings with Kusal Mendis (33 not out) and Dinesh Chandimal (21 not out) at the crease.
The Proteas pacer Lungi Ngidi (2-28) took both the Lankan wickets, dismissing captain Dimuth Karunaratne (6) Kusal Mendis (0).
Du Plessis fell just one short of a major milestone due to a poor selection of shot as he attempted to lift leg-spinner Wanindu Hasaranga (4-171) over mid-on, but instead offered a simple catch to Karunaratne.
The right-hander faced 276 balls and hit 24 fours, a masterful display of batting on a wicket that was not easy for batsmen with pace and variable bounce.
Sri Lankan players had a hard day on the field as injuries severely hampered their bowling attack, with seamer Kasun Rajitha managing only 2.1 overs, fellow quick Lahiru Kumara forced off early and Hasaranga limping along after a sliding a save on the boundary.
The visitors had started the innings without spinner Dhananjaya de Silva, who suffered a thigh injury while batting and has been ruled out for two weeks.
South Africa resumed on 317 for 4, with Du Plessis and Temba Bavuma (71) sharing a record fifth-wicket stand for the team against Sri Lanka of 179.
The partnership was broken when Bavuma walked from the field following an appeal for caught behind. He was not given out by the umpire, and replays suggested he had missed the ball by a good inch.
Later, du Plessis shared a record seventh-wicket stand against Sri Lanka of 133 with Keshav Maharaj (73), who went to his highest test score before he was the last batsman out.
South Africa have added fit-again fast bowler Kagiso Rabada to their squad for the second and final test starting in Johannesburg on Jan. 3.