Jadeja returned 2-12, while Umesh Yadav and debutant Shahbaz Nadeem took a wicket apiece as South Africa added 120 runs for the loss of four wickets after resuming at 9-2.
George Linde (10) and Dane Piedt (4) were unbeaten at the interval, and South Africa trailed by 368 runs.
South Africa's morning started badly when Yadav had Faf du Plessis (1) caught behind to have the tourists reeling at 16-3.
But Zubayr Hamza (62) and Temba Bavuma (32) combined in a 91-run partnership for the fourth wicket to rescue the top order.
The pair added 50 runs from 60 balls, scoring at a good rate, and Hamza reached his maiden test half-century off 56 balls.
Bavuma also hit five fours as together they pushed South Africa past 100 in the 25th over.
That this where the slide began again for South Africa as they lost three wickets for 12 runs in the space of five overs.
The pitch started taking some turn as Jadeja bowled Hamza in the 28th over, ending a 79-ball innings that contained 10 boundaries and a six.
Bavuma was stumped as he tried to charge Nadeem and, just before lunch, Jadeja bowled Heinrich Klaasen (6) with one turning away sharply.
India declared at 497-9 in its first innings after Rohit Sharma's (212) maiden test double century. Bad light affected play on both the first two days.
India took an insurmountable lead in the three-match series after winning the first two tests at Visakhapatnam and Pune.