Hardik Pandya took five wickets and debutant wicket-keeper Rishabh Pant held five catches before India's batsmen piled on the agony for England in the third Test at Trent Bridge.
India were 124 for two in their second innings at stumps on Sunday's second day, an already commanding lead of 292 runs in a game where victory would see them keep the series alive at 2-1 down in a five-match contest.
Cheteshwar Pujara was 33 not out and India captain Virat Kohli, whose 97 was key to his side's first-innings 329, eight not out with three days left in the game.
Earlier, England collapsed to 161 all out in a first innings that lasted a mere 38.2 overs.
All-rounder Pandya took five wickets for 28 runs in six overs as he revelled in the swing-friendly conditions.
This was the second time this year that England had lost all 10 wickets inside a session of Test cricket following an embarrassing 58 all out against New Zealand in Auckland in March.
The irony was that England didn't lose a wicket in 40 minutes before lunch where India bowled poorly and failed to make the most of the overcast conditions.
They were 54 without loss early in the second session but left-handed openers Alastair Cook (29) and Keaton Jennings (20) both exited on that score, sparking a collapse that saw eight wickets lost for 74 runs.
Only Jos Buttler's 39 denied Kohli the chance of enforcing the follow-on.
- 'Tighten up' -
"As a bowling unit we got together and focused on bowling in the right areas," Pandya told Sky Sports.
"The ball was swinging in the morning and we tried things with the new ball and they didn't work out," added the 24-year-old, playing just his tenth Test.
"Me and Ishant (Sharma) said we had to tighten the runs up and see what happens."
Sharma did just that when he drew a tentative outside edge from Cook that gave Pant an easy first catch in Test cricket.
Next ball, Jennings, one of 12 batsmen to have opened in Tests with Cook since Andrew Strauss retired six years ago, was squared up by Jasprit Bumrah and nicked to Pant.
New batsman Ollie Pope fell for 10 when a genuine glance off Sharma was well caught down the legside by the 20-year-old keeper.
England captain and star batsman Joe Root (16) then edged all-rounder Pandya's first ball low to KL Rahul at second slip.
The umpires called for a review but made a 'soft signal' of out and the on-field call was upheld.
Ben Stokes, recalled just days after being acquitted of an affray charge on Tuesday following an incident outside a Bristol nightclub in September last year, walked out to a few boos from the crowd.
He could only manage 10 before he nicked Mohammed Shami to Rahul.
Chris Woakes had rescued England with a maiden Test century in an innings and 159-run win at Lord's last week.
But trying to hook Pandya on eight, he got a top edge and Pant, changing direction following the deflection, lept high to his right to hold a brilliant one-handed catch.
England were now 118 for seven.
The first ball of Pandya's next over saw Adil Rashid well-caught by Pant.
Stuart Broad survived the hat-trick ball but was still out for a duck, the left-hander plumb lbw to a Pandya inswinger.
At 128 for nine, England needed two more runs to avoid the follow-on.
They got them when Buttler's leading edge off Shami narrowly cleared Ajinkya Rahane at cover-point.
- 'Let it slip' -
Buttler, with just last man James Anderson for company, hooked and drove sixes off Shami and Sharma respectively before he holed out off Bumrah.
"It's very disappointing –- after a really good start to the day as well, picking up those early wickets and being fifty for none," Buttler told reporters. "We let that slip."
India's openers put on a brisk 60 before Rahul (36) played on to Stokes and Shikhar Dhawan (44) was stumped by Bairstow off leg-spinner Rashid.
But when play ended in bright sunshine, England needed to surpass the record fourth innings score to win a Test at Trent Bridge, their own 284 for six against New Zealand in 2004, to achieve an improbable success.