England great James Anderson ripped through the top order as India collapsed to 78 all out on the first day of the third Test at Headingley on Wednesday.
Anderson took 3-6 in eight overs, including the prize wicket of India captain Virat Kohli, who won the toss.
Both Sam Curran and Craig Overton took two wickets in two balls after lunch, with Overton finishing with 3-14 in 10.4 overs after being recalled in place of injured fast bowler Mark Wood.
India, 56-4 at lunch, lost their last six wickets for 22 runs, with the innings completed inside 41 overs after just over three hours' play.
This was India's lowest Test total against England since being dismissed for 42 at Lord's in 1974.
It followed their all-time lowest Test innings total of 36 against Australia in Adelaide in December — during a series India eventually won 2-1.
Rohit Sharma (19) and vice-captain Ajinkya Rahane (18) were the only India batsmen to make it into double figures on Wednesday, with 16 runs coming in extras.
England were 21-0 in reply at tea, with their new opening partnership of Rory Burns (three not out) and Haseeb Hameed (15 not out) still unbeaten.
An unchanged India came into this match 1-0 up in the five-Test series after a superb 151-run win at Lord's last week.
England, by contrast, recalled Overton after Wood, joined fellow quicks Stuart Broad, Jofra Archer and Olly Stone on the sidelines.
Kohli won the toss and despite the overcast conditions that promised to aid Anderson, already the most successful quick bowler in Test history, decided to bat.
But India, having seen Rahul and Rohit share a century opening stand at Lord's, were 1-1 off just the fifth ball of the day.
Following several inswingers, Anderson pitched one up that moved less and Rahul, fresh from his 129 at Lord's, fell for a duck when he edged a booming drive to wicketkeeper Jos Buttler.
The often gritty Pujara lasted just nine balls for one, undone by a superb Anderson delivery that both swung away and seamed off the pitch.
Anderson and Kohli had exchanged angry words at Lord's after the England tailender had been subjected to a bouncer barrage from Jasprit Bumrah.
But there was little time for any more 'sledging' as Kohli, without a Test hundred in two years and averaging just 23 since January 2020, fell for seven when he tried to drive an Anderson ball he might have defended to give Buttler another catch.
Rahul, Pujara and Kohli managed just eight runs between them.
Ollie Robinson then struck with what became the last ball before lunch when Rahane (18) also nicked behind.
The dangerous Rishabh Pant fell for just two when, playing a loose shot off Robinson, he too became one of Buttler's five catches in the innings.
Rohit, who made a fine 83 at Lord's, fell next when he mishooked a looping bouncer from Overton to Robinson at mid-on Next ball India were 67-7 when Mohammed Shami, who had defied England with a Test-best 56 at Lord's, was out for a duck when he edged Burns into the slips.
Curran then took two in two balls as well, with Ravindra Jadeja and Bumrah lbw to the left-arm swing bowler.
The innings ended when Mohammed Siraj was caught head-high in the slips by England captain Joe Root off Overton.
A measure of England's dominance so far was that Ishant Sharma conceded nine runs in his first over, more than Anderson gave up in his spell.