Right-handed batsman Aiden Markram struck a half-century on the first day of the third and final Test against Pakistan after early loss of South African skipper Dean Elgar.
Batting first, South Afirca lost their captain early as he was caught behind off Mohammad Abbas fifth delivery of the second over.
Later, Markram filled the damage with a 78 not out in a South African total of 108 at lunch.
Markram, who had to pass a fitness test after suffering a badly bruised right thigh while fielding in the second Test in Cape Town, gave a sharp chance to short leg Shan Masood off Mohammad Amir when he had two, but otherwise looked in command on an easy-paced surface.
Markram hit 14 boundaries off 101 balls in an innings marked by crisply-struck drives and clips to leg.
Hashim Amla was content to play a supporting role and made 22 not out in a partnership which was worth 102 at lunch.
South Africa – Aiden Markram, Dean Elgar (captain), Hashim Amla, Temba Bavuma, Theunis de Bruyn, Zubayr Hamza, Quinton de Kock, Vernon Philander, Dale Steyn, Kagiso Rabada, Duanne Olivier.
Pakistan – Imam-ul-Haq, Shan Masood, Azhar Ali, Asad Shafiq, Babar Azam, Sarfraz Ahmed (captain), Shadab Khan, Faheem Ashraf, Mohammad Amir, Hasan Ali, Mohammad Abbas.