Peterson was ruled out of the rest of the series after being hit on the left index finger –- on his spinning hand –- during fielding practice on Tuesday.
Tahir, who was born in Pakistan and became eligible to play for his adopted country in 2011, has not been part of the South African Test team since he played against Sri Lanka in July this year.
Since then off-spinner Dane Piedt and left-armer Peterson have been preferred.
Tahir, who has taken 40 wickets in his 15 tests, is likely to play in Port Elizabeth on a pitch which is expected to be slower and more spin-friendly than Centurion, where South Africa won the first Test by an innings and 220 runs. – AFP