Ajinkya Rahane and Ravichandran Ashwin resumed India's innings from the overnight score of 231 for 7. South Africa took the second new ball straight away.
Ajinkya Rahane registered his fifth Test century - and his first on Indian soil - to take India past the 250-run mark,
Morne Morkel, AB de Villiers, Dane Piedt, Imran Tahir were amongst those who showed great sporting spirit and came forward to congratulate Rahane on his fine knock of 127.
Ashwin added 98 runs for the eighth wicket stand with Rahane to revive India's innings.
Ravichandran Ashwin's unbeaten 53 at lunch helped India post the first 300+ score of the series.
Kyle Abbott was the pick of the bowlers for South Africa with figures of 5 for 40.
Umesh Yadav got India an early breakthrough, dismissing Dean Elgar for 17 just before Tea.
AB de Villiers top scored for the visitors with 42 - and the rest of the team added just 79.
Jadeja's fourth five-for in Test cricket helped India restrict South Africa to 121. With a lead of 213 in hand, and opting to not enforce the follow-on, India will start their second innings on third morning.
Ravindra Jadeja picked up three wickets in quick succession right after Tea to derail South Africa's innings.
Ishant Sharma took a blinder to end AB de Villiers knock at 42.