Spinner Axar Patel claimed a career-best 6-38 as India bundled out England for 112 on the opening day to take charge of the day-night third Test in Ahmedabad on Wednesday.
Rohit Sharma then helped the hosts weather a top-order wobble of their own to finish an eventful 13-wicket day on 99-3.
Rohit was unbeaten on 57 at the close with Ajinkya Rahane on one and India were eyeing a handy first-innings lead with the series level at 1-1.
Earlier, England captain Joe Root's decision to bat backfired as the touring side folded in 48.4 overs inside two seasons despite Zak Crawley's stroke-filled 53.
On a track where the ball spun from the first session, the English batsmen repeatedly played for the turn and got beaten by the straight ball.
They made four changes to their team but a rejigged top order failed.
Playing his 100th Test, seamer Ishant Sharma dismissed Dom Sibley in the third over before the spinners took over.
Left-armer Patel trapped Jonny Bairstow lbw for nought with his first delivery.
At the other end, Crawley appeared to be batting on a different pitch, dealing mostly in boundaries and bringing up his fifty off 68 balls.
Before his partnership with Root could really flourish, however, Ravichandran Ashwin (3-26) intervened.
The wily off-spinner dismissed Root lbw for 17. The England captain reviewed the decision but could not get it overturned.
Patel ended Crawley's knock in similar fashion to trigger a batting collapse and England lost their last eight wickets for 38 runs.
"The odd ball did spin but the pink-ball mostly skidded. So our effort was to bowl wicket-to-wicket," Patel told a video conference.
"We stuck to that line and pace because we know if batsmen tried to play us off back foot, there were higher chances of getting them lbw or bowled."
It was a sense of deja vu for England who were dismissed for 58 in their previous pink-ball Test in New Zealand three years ago.
Crawley was hopeful England could still fight back.
"We have very strong seamers and back our seamers on any surface," the opener said.
"If we had got more runs we could have helped our bowlers out a little bit more."
India did not find scoring easy either against the swinging pink ball in the final session.
The usually fluent Shubman Gill took 27 balls to open his account while Rohit mixed caution with occasional aggression in his fifty.
Jofra Archer dismissed Gill for 11 and Jack Leach removed Cheteshwar Pujara for a duck but Rohit's 64-run partnership with Virat Kohli helped India maintain their upper hand in the contest.
Ollie Pope dropped Kohli at gully but Leach dismissed the India captain when he chopped a delivery on to his stumps to depart for 27 in the final over.
Around 40,000 fans filled the world's largest cricket stadium which was named after India Prime Minister Narendra Modi earlier on Wednesday.