Theunis de Bruyn was batting on 20 and was accompanied with Anrich Nortje (2) who came in as a night watchman. South Africa are trailing by 565 runs.
Playing the first match of this calendar year, pacer Umesh Yadav jolted the Proteas top order in his first over. He trapped opener Aiden Markram in the front, getting the major breakthrough for the hosts. In his next over, he dismissed Dean Elger and reduced South Africa to 13/2 in 3.5 overs.
Shami was next in the queue who further damaged the hosts. In the 10th over, Temba Bavuma edged a length ball from the speedster which was comfortably caught by Wriddhiman Saha.
The hosts deployed Nortje as a night watchman who joined De Bruyn at the crease and the duo managed to stay put until stumps. The duo will resume the innings on day 3.
Earlier, India skipper Virat Kohli's double ton and Ravindra Jadeja's 91 guided team to 601/5 in the first innings of the second Test against South Africa at Maharashtra Cricket Association (MCA) Stadium here on Friday.
India resumed their innings from 273/3 on day two. Kohli and Ajinkya Rahane continued their partnership and built a massive stand of 178 runs for the fourth wicket.
Rahane played a knock of 59 runs before he was sent back to the pavilion by spinner Keshav Maharaj as he was caught behind the stumps by Quinton de Kock.
All-rounder Jadeja joined Kohli in the middle and stitched a giant partnership of 225-run for the fifth wicket. India declared their innings after Jadeja's dismissal by Senuran Muthusamy at the score of 91.
Kohli remained unbeaten on 254, his highest individual score in Test career. He broke his earlier record of 243 runs which he scored against Sri Lanka at Delhi in 2017/18.
For South Africa, Kagiso Rabada scalped three wickets while Maharaj and Muthusamy picked one wicket each.