Spinner Shoaib Bashir took four wickets to lead England's bowling charge and put India on the back foot at 219-7 on day two of the fourth Test on Saturday.
The rookie off-spinner rattled the Indian reply to England's first innings of 353 in a marathon spell of 31 overs unchanged spread over three sessions in Ranchi.
Wicketkeeper-batsman Dhruv Jurel, on 30, and Kuldeep Yadav, on 17, were batting at the close of play with an unbeaten stand of 42 but India still trail the visitors by 134 runs.
The in-form Yashasvi Jaiswal made 73 but Bashir bowled him after the left-hander attempted to defend a low ball that caught the toe of the bat and crashed into the stumps.
Bashir, who missed the opener due to a visa delay and is playing his second Test, was ably supported by two wickets from fellow spinner Tom Hartley.
Joe Root hit an unbeaten 122 for England, who trail 2-1 and are fighting to stay alive in the five-match series.
But the day belonged to Bashir, who came on to bowl in the ninth over of India's innings and remained unchanged from his end until Root replaced him shortly before stumps.
He removed Shubman Gill (38) and Rajat Patidar (17), both out lbw, and then got Ravindra Jadeja caught at short leg to put India in trouble at 131-4 at tea.
Fast bowler James Anderson struck first to send back India skipper Rohit Sharma, caught for two before lunch, but the left-handed Jaiswal rebuilt the innings in an 82-run stand with Gill.
Jaiswal, who tops the series batting chart with 618 runs, including two match-winning double centuries in the second and third Tests, raised his bat to applause after reaching his fifty.
The 22-year-old hit 171 on debut in the West Indies last year and has since amassed 934 runs over eight Tests and 14 innings.
He survived a close call on 40 when he appeared to edge an Ollie Robinson delivery to Ben Foakes for a caught behind but the third umpire denied England's appeal after many replays.
Anderson moved to 697 wickets in the first session after Root ran out of partners and England were bowled out.
The 41-year-old Anderson is poised to become only the third bowler to take 700 wickets, after Sri Lanka's Muttiah Muralitharan (800) and the late Australian spin wizard Shane Warne (708).
England resumed on 302-7 and Root put on 102 runs with overnight partner Robinson, who made 58, but the latter's departure brought a quick end to the England innings.
Jadeja returned figures of 4-67 and wiped out the tail.