Indian captain Virat Kohli struck a double century before his bowlers picked up six England wickets to put the hosts on course for a series-clinching victory in the fourth and penultimate cricket test at the Wankhede Stadium.
Trailing 2-0 in the series, England needed a win in Mumbai to keep alive the series but the tourists now require something extraordinary to even save the match following Kohli's batting masterclass.
India piled on 631 in their first innings on the fourth day, a lead of 231 runs over England, after Kohli's third double century of the year.
The touring side were 182 for six in their second innings at stumps, still trailing by 49. Jonny Bairstow was unbeaten on 50 with nightwatchman Jake Ball falling for two in the last over before the close.
Paceman Bhuvneshwar Kumar dismissed first-innings centurion Keaton Jennings for a golden duck and left-arm spinner Ravindra Jadeja sent back England captain Alastair Cook for 18 and Moeen Ali for nought to leave England tottering at 49-3 at tea.
Joe Root and Bairstow hit brisk fifties during their stand of 92 for the fourth wicket before the former fell leg before to off-spinner Jayant Yadav for 77.
The wickets of Ben Stokes, who made 18, and Ball to off-spinner Ravichandran Ashwin towards the end further dampened England's hopes of saving the match.
Bairstow was given out by umpire Bruce Oxenford first on 32 and then on 37 but the England wicketkeeper managed to overturn the decisions both times on review.
Earlier, the 28-year-old Kohli was out for a career-best 235 and added 241 for the eighth wicket, the highest for India, with Yadav, who scored 104, his maiden test hundred.
Kohli, who was on 147 overnight, and Yadav continued to torment the England bowlers who went wicketless in the first session after India resumed on 451 for seven.
The right-handed batsman has now scored a double hundred in all three series India have played in 2016 -- in West Indies, against New Zealand and now against England.
Kohli, who has already scored 640 runs in the series at an average of 128, drove Ball for a straight four on the fifth delivery of the day to get past 150, signalling another harrowing session for the England bowlers.
Kohli, who hit 25 fours and a six in his knock, got past his 200 with a single to mid-wicket off leg-spinner Adil Rashid but his celebration was quite muted compared to when he completed his hundred on Saturday.
He raised both his hands while completing the run and took off his helmet before acknowledging the applause from the sizeable Sunday crowd at the ground, overlooking the Arabian Sea.
Kohli accelerated after the fall of Yadav and was out caught at the cover boundary off Chris Woakes.
Yadav, whose previous highest score was 55, hit 15 boundaries in his knock and looked in discomfort only against a couple of short deliveries from the England fast bowlers.
Rashid finished with four wickets.