India, which won the last match at Indore by 22 runs to level the five-game series 1-1, brought in leg-spinner Amit Mishra for pace bowler Umesh Yadav.
South Africa, looking to wrest back the momentum after winning a preceding three-game Twenty20 series 2-0, went in unchanged.
The Saurashtra Cricket Association Stadium and the areas around it were under heavy security cover after local activists threatened to disrupt the game as part of an agitation demanding reservation of jobs and seats in educational institutions for their community.
England wins toss, bats vs. South Africa in 3rd test