Jadeja struck twice in the afternoon session as South Africa reached 172 for seven at tea while following-on in Pune. Vernon Philander, on 29, and Keshav Maharaj, on 17, were batting at the break.
The batting pair, who put on 109 runs for the ninth wicket in South Africa’s first innings, once again resisted the opposition bowling as the tourists trailed by 154 runs.
Ashwin took two key wickets including skipper Faf du Plessis before lunch to flatten the tourists second innings after India made them bat again in the morning.
Ashwin got du Plessis, who promoted himself to number four in the batting order, caught behind for five with wicketkeeper Wriddhiman Saha holding on to a juggling catch.
The off-spinner soon got opening batsman Dean Elgar caught out for 48 as South Africa slipped further.
Paceman Ishant Sharma struck on the second ball of the day to trap Aiden Markram lbw for nought after the tourists started their second innings with a trail of 326.
The Proteas were dismissed for 275 at the end of day three in response to India’s 601-5 declared, 127 short of the follow-on.
A victory for India, already one-up in the three Tests, will see them beat the record of 10-straight home-series wins they share with Australia.