South Africa won the toss and sent Pakistan in to bat in the second Test at Newlands on Thursday after selecting an all-seam attack.
The home team omitted left-arm spinner Keshav Maharaj and recalled fit-again Vernon Philander.
"We've gone with four seamers and want to get stuck into that batting line-up," said South African captain Faf du Plessis. "In the past three years innings here generally don't go beyond 80 or 90 overs so the spinners don't play much of a role. Against a sub-continent team with grass on the pitch we've decided to go with seam."
Pakistan made one change from the team beaten by six wickets in the first Test at Centurion, with Mohammad Abbas returning at the expense of fellow seamer Hasan Ali.
"We wanted to bat first," said Pakistan captain Sarfraz Ahmed.
South African: Faf du Plessis (captain), Dean Elgar, Aiden Markram, Hashim Amla, Temba Bavuma, Theunis de Bruyn, Quinton de Kock (wkt), Vernon Philander, Kagiso Rabada, Dale Steyn, Duanne Olivier.
Pakistan: Sarfraz Ahmed (captain/wkt), Imam-ul-Haq, Fakhar Zaman, Shan Masood, Azhar Ali, Asad Shafiq, Babar Azam, Mohammad Amir, Yasir Shah, Mohammad Abbas, Shaheen Shah Afridi.
Feature picture courtesy: AFP