The Indian spinners though pulled back things a little bit by getting the wickets of Stiaan van Zyl (5) and Faf du Plessis (0) early at the I S Bindra stadium.
Replying to what seems like a below-par first innings score largely built around Murali Vijay's 75, the Proteas were 28 for two in 20 overs at stumps with Elgar (13 batting) and skipper Hashim Amla (9 batting) at the crease on a day which saw as many as 12 wickets fall on a track which giving assistance to the spinners.
But it was left-arm spinner Elgar's impressive figures of 4-22 that spun a web against an Indian line-up that failed to show application in mostly overcast conditions on a slow and low wicket.
Electing to bat, India lost Shikhar Dhawan without a run on board but Vijay and Cheteshwar Pujara (31) steadied the boat with a 63-run stand only to see the bowlers strike back.
Also Read
Ashwin (20 not out) and Jadeja's (38) valuable 42-run eight-wicket partnership was also responsible for taking the score past the 200-run mark.
Dhawan would have been disappointed with his blob on a ground where he scored his debut hundred in 2013, a fantastic 187 against Australia.
Pace spearhead Dale Steyn (0-30) kept up the pressure from other end as the batsmen found hard to score freely even as Pujara and Vijay squeezed in a few boundaries.
But the drama unfolded after the first drinks break when India saw two quick wickets fall in the space of four deliveries to give away the advantage to the visitors.