India need 194 runs to win the first Test at Edgbaston after Ishant Sharma took 5-51 as England were bowled out for 180 in their second innings.
Even that total seemed unlikely soon after lunch when England had slumped to 87-7, but a superb innings by Sam Curran, who was the last man out for 63, gave Joe Root's side a chance to win the match.
England had started the day on 9-1, but wickets fell at regular intervals before lunch with Keaton Jennings being the first to depart for eight when he edged Ravi Ashwin to KL Rahul at gully.
Root was dismissed in the same manner for 14 before Dawid Malan and Jonny Bairstow lifted England to 70-3.
Malan was eventually out for 20 before Sharma removed Bairstow for 28 when the wicketkeeper nicked one to Shikhar Dhawan and then Ben Stokes for six in the final over before lunch.
Sharma still had two balls of his over left and, after the interval, he enticed Jos Buttler to nick the ball through to wicketkeeper Dinseh Karthik after making just one run as the Indian bowler took his third wicket of the over.
Adil Rashid and Curran put on 48 runs for the eighth wicket until the Yorkshire spinner was bowled for 16 by Umesh Yadav while Stuart Broad made 11 before edging Sharma to Dhawan at first slip.
Curran was finally out when Umesh had him caught by Karthik to leave India at 10/3 to win the first Test while an England victory is available at 2/9.
View all Cricket betting