Ashwin (4/60) registered his best figures in Test cricket across South Africa, England and Australia as the hosts lost six wickets for 69 runs in the final session of play to find themselves in a precarious position after opting to bat.
Joe Root (80 runs off 156 balls, 9x4s) scored an unbeaten 41st Test half-century, but the English innings completely got derailed after his dismissal.
At stumps, Sam Curran was batting on 24 with James Anderson for company.
In the final session of the day, India didn't begin well with England progressing as Jonny Bairstow (70 off 88 balls, 9x4s) brought up his 18th Test half-century off 72 balls. In doing so, he put on 105 runs with Root for the fourth wicket.
Root and Bairstow got their runs off only 138 balls as England crossed 200 in the 62nd over and were looking set for a strong total before things unravelled in the most odd fashion.
It was the 63rd over of the innings when Virat Kohli's direct throw ran out Root as he tried to come back for non-existent double. That dismissal changed momentum of the innings with England collapsing thereafter.
England lost three wickets for eight runs in the next 25 balls. First, Bairstow played on off Umesh Yadav (1/56) and then Ashwin trapped Jos Buttler lbw for a two-ball duck as England were rocked out of their comfort zone.
Sensing a kill, India never let go the pressure in the remainder of the session. Every time England tried to build a partnership, Indian bowlers struck back and it resulted in regular wickets.
Ashwin dismissed Ben Stokes (21) with a return catch in the 75th over as England were reduced to 243 for seven.
A 35-run partnership between Adil Rashid (13) and Curran raised visions of a fight back but Ishant Sharma (1/46) finally got return for his hard toil, trapping Rashid lbw with a sharp in-swinger.
Ashwin then accounted for Stuart Broad (1), lbw too, but Anderson somehow managed to thwart his efforts for a five-wicket haul.
Earlier, Mohammed Shami struck twice in the second session before England skipper Root scored his 41st Test half-century to guide the hosts to 163 for three at tea. Shami bowled an incisive spell after lunch, dismissing Keaton Jennings (42) and Dawid Malan (8) as India piled on the pressure in the second session.
Jennings was the first to go, but in an odd manner. Just prior to his dismissal, there was a pigeon near the pitch that distracted him and in the very next ball, he played on after the ball clipped his pads.
It was a lucky breakthrough for India as their pacers found movement after the break. Ishant and Shami bowled closer to the England batsmen and made them play more often with the latter reaping reward.
Ashwin had a loud lbw shout against Malan which was turned down as India lost a review.
But Malan never looked comfortable against Shami, who trapped him lbw eventually in the 40th over. The ball was doing just enough, and even DRS didn't help the batsman.
Bairstow though made sure that India didn't get an upper hand on the proceedings by adopting an attacking approach against Ashwin.
Root, meanwhile, dropped anchor and ate up a lot more deliveries against the Indian pacers. His strike-rate dropped below 50, even as he completed his half-century off 107 balls.
Root also became the quickest batsman to 6,000 Test runs in terms of time from his debut when he reached the landmark.
Root got to the landmark in five years and 231 days of his Test career, surpassing former England captain Alastair Cook's mark of five years and 339 days.
Opting to bat, England consolidated their position despite losing Cook early, reaching 83 for one at lunch.
Ashwin was the only wicket-taker for India in the pre-lunch session, bowling Cook (13) with a ripper in the ninth over. The ball pitched on middle and turned away to knock back Cook's off-stump.
First Published: August 2, 2018, 8:25 AM IST