The visitors, who conceded a 134-run first-innings lead, trailed their hosts by 56 runs with six second-innings wickets remaining at stumps on day three in Mohali.
Joe Root (36) and nightwatchman Gareth Batty (0) were at the crease.
Root opened with Alastair Cook in the absence of teenager Haseeb Hameed with a hand injury.
He will bat later in the innings but could miss the rest of the series, depending on what X-rays reveal.
Ashwin drew first blood by getting Cook bowled for 12.
The England skipper had been living dangerously, with two lbw calls against him going for reviews, first by India and then by the batsman himself. But he survived only to see his stumps shattered later on.
Ashwin kept up the pressure from his end as he bamboozled Moeen Ali (5) with a flighted delivery, causing the batsman to give away a catch to mid-on.
Root sought to steady the innings with Jonny Bairstow, but the wicketkeeper-batsman's resistance did not last long.
Off-spinner Jayant Yadav got Bairstow, who top-scored with a dogged 89 in England's first innings of 283, caught behind for 15.
An unrelenting Ashwin, the world's top-ranked Test bowler, then trapped Ben Stokes lbw for five as the visitors slipped further.
"We've lost a few wickets this evening, which was not ideal, that was not the plan," Bairstow told reporters.
"However, we still got Root out there in the middle, we still got Jos (Buttler) to come, we still got Woakesy (Chris Woakes) to come and (Adil) Rashid scored a heck of a lot of runs. There's still a lot of batting within the shed."
Earlier India's first innings saw five half-centuries before the hosts, who resumed the day on 271-6, were bowled out for 417 in the afternoon.
"They have won today. I think up until this morning, it was evenly poised... they played well this morning. Give them credit," said Bairstow.
Ravindra Jadeja top-scored with 90 while Jayant Yadav's 55 - his maiden fifty in only his second Test - gave the England bowlers a frustrating two sessions of play.
Seam bowler Stokes claimed his third Test five-wicket haul while leg-spinner Rashid took four wickets.
Jadeja, who registered his career-best Test score surpassing his 68 at Lord's in 2014, fell 10 runs short of his maiden Test ton. But his 80-run stand with Jayant Yadav underpinned India's impressive lower-order performance.
The left-handed Jadeja, who started the day on 31, took over responsibility for piloting the innings after the fall of his overnight partner Ashwin.
Ashwin's wicket ended a 97-run seventh-wicket stand between him and Jadeja. The pair had lifted India after the loss of four wickets in the final session on Sunday.
"Any team will have a plus point if its lower-middle order is contributing. If the last 7-11 (batsmen) can give 50 to 100 runs extra for the team it's a bonus," said Jadeja.
Skipper Virat Kohli (62) and Cheteshwar Pujara (51) also contributed half-centuries.
India lead the five-match series 1-0 with one game drawn.
Original source: Ashwin leaves England reeling