The Wanderers was set to host the first Test of the three-match series from 17 December, but the emergence of the new Covid-19 variant Omicron prompted rescheduling.
The first Test will now take place at SuperSport Park in Centurion from 26 December, followed by the second Test at the Wanderers (3-7 January) and the third at Newlands (11-15 January).
The first two matches of the ODI series will be played at Boland Park in Paarl and the third at Newlands.
The four-match T20I series has been postponed.
India tour of South Africa:
1st Test – 26-30 December, SuperSport Park, Centurion
2nd Test – 3-7 January, Wanderers, Johannesburg
3rd Test – 11-15 January, Newlands, Cape Town
1st ODI – 19 January, Boland Park, Paarl
2nd ODI – 21 January, Boland Park, Paarl
3rd ODI – 23 January, Newlands, Cape Town