Jasprit Bumrah claimed six for 45 in a reverse swing masterclass to fetch India a handy lead on day two of the second Test against England in Visakhapatnam on Saturday.
Replying to India's 396 in the first innings, England were cruising at 114-1 batting with the kind of unbridled aggression, which has become the hallmark of the side under Ben Stokes.
Bumrah, armed with the reversing ball, then turned the match on its head and England were all out for 253 conceding a first-innings lead of 143.
India were 28 for no loss at stumps for an overall lead of 171.
Yashasvi Jaiswal, who smashed 209 in the first innings, was batting on 15 with skipper Rohit Sharma on 13 at the other end.
"If you want to take wickets as a fast in India, you have got to learn to use reverse swing because the new ball doesn't do much," Bumrah said of his bowling.
"Sometimes you can try and force the magical deliveries but it's also about being patient and setting the batter up.
"You have to have a plan and use every delivery wisely. I was very happy to execute it today and happy to contribute on that pitch."
England got off to a strong start with Zak Crawley (76) and Ben Duckett (21) looking determined to make the most of the excellent batting conditions.
Crawley hit Bumrah for four fours in an over en route to a 52-ball fifty, a milestone he reached with a six off Kuldeep Yadav (3-71).
The spinner broke the 59-run stand when he had Duckett caught at silly point but was denied a second wicket in that over when Srikar Bharat blew a stumping opportunity against Ollie Pope.
Crawley went run-a-ball but miscued his shot against Axar Patel and Shreyas Iyer took a spectacular tumbling catch running backwards to trigger a collapse.
With the ball reversing, Bumrah was recalled into the attack and the crafty seamer responded by getting Joe Root caught in the slip for five.
Bumrah's mastery was on display again and this time Pope (23) nearly fell over trying to block a yorker that crashed through his defence and into the base of his middle and leg stumps.
Bumrah returned after the tea break to dismiss Johnny Bairstow (25) with England reeling at 159 with their top five batters back in the hut.
Yadav removed Ben Foakes and Rehan Ahmed before Bumrah returned to produce a stunning delivery to end Stokes's brisk 47.
Stokes dropped his bat and stood in disbelief after Bumrah sent down a delivery that jagged back to flatten his off-stump.
Earlier, Jaiswal smashed his maiden Test double hundred, which contained seven sixes and 19 fours, to provide the bedrock of the Indian innings where no other batter managed a fifty.
Seamer James Anderson, Shoaib Bashir and fellow spinner Ahmed claimed three wickets apiece for England.