After opting not to enforce the follow on, Indian openers Murali Vijay and Lokesh Rahul batted out 20 minutes before tea, putting eight runs on the board for an overall lead of 208.
Vijay was unbeaten on three while Rahul, who made a duck in the first innings after returning to the side from injury, was not out on one at the other end.
Ben Stokes and Jonny Bairstow earlier hit half-centuries and combined in a sixth-wicket stand of 110 to launch England's fightback.
The pair kept the hosts at bay all morning on the third day before being separated 10 minutes before lunch when Umesh Yadav finally dismissed Bairstow for 53, the paceman's delivery hitting the batsman's pad before crashing onto the stumps.
After reducing England to 80-5 in the final session on Friday, India's spinners were expected to roll over the touring side on the third morning but Stokes and Bairstow, resuming on 103-5, showed great determination to frustrate the hosts.
The pair defended resolutely but also put any loose balls away to keep the scoreboard ticking over. India had their opportunities but failed to make them count.
Stokes, who survived a close call on Friday when a delivery from debutant off-spinner Jayant Yadav kissed but did not dislodge his bail, had another slice of luck when wicketkeeper Wriddhiman Saha missed a stumping chance off Ashwin with the batsman on 21.
Batting on 18, Bairstow also saw an edge off paceman Yadav fly between the first and second slip.
Stokes fell for 70 to Ashwin, who had dismissed Joe Root and Ben Duckett on Thursday, and the batsman was unable to overturn the umpire's leg before decision on review.
World's top-ranked test bowler Ashwin, who has won the man of the series awards in India's last four test series, wrapped up England's innings by dismissing Stuart Broad and James Anderson leg before in consecutive deliveries.
Original source: Ashwin puts India in commanding position