The veteran all-rounder injured his calf in an optional practice on Thursday and has been replaced by seam bowler Kyle Abbot, who makes his test debut.
The Proteas have made one other enforced change to their line-up, swing bowler Rory Kleinveldt coming in for the injured Morne Morkel. The 29-year-old will add to the batting strength down the order with Kallis leaving a big hole in the top four.
"We feel the pitch will take a bit of turn as the game goes on," South Africa captain Graeme Smith said.
Pakistan have made three changes to their line-up with opener Nasir Jamshed, and seamers Umar Gul and Tanvir Ahmed being replaced by Imran Farhat, debutant fast bowler Ehsan Adil and Rahat Ali.
South Africa lead 2-0 in the three-match series.
Teams: South Africa - Graeme Smith, Alviro Petersen, Hashim Amla, Kyle Abbott, AB de Villiers, Faf du Plessis, Dean Elgar, Vernon Philander, Robin Peterson, Dale Steyn, Rory Kleinveldt Pakistan - Mohammad Hafeez, Imran Farhat, Azhar Ali, Younus Khan, Misbah-ul-Haq, Asad Shafiq, Sarfraz Ahmed, Saeed Ajmal, Mohammad Irfan, Rahat Ali, Ehsan Adil
- Sports & Recreation
- Rory Kleinveldt
- South Africa
- Imran Farhat
- Graeme Smith