Paceman Jasprit Bumrah took two wickets as India left England tottering at 39-4 in their chase of 230 in Sunday's World Cup clash.
Bumrah struck on successive balls to send back Dawid Malan, for 16, and Joe Root, for nought, to be on a hat-trick at a deafening and nearly-packed Ekana Stadium in Lucknow.
Jonny Bairstow played out the hat-trick ball but England soon lost Ben Stokes, bowled by Mohammed Shami to raise India's hopes of defending the total.
Shami then brought the house down when he bowled Bairstow for 14 as 46,000 fans, largely all Indian in blue jerseys, roared.
Earlier England fast bowlers David Willey and Chris Woakes shared five wickets between them to restrict India to 229-9 after the defending champions elected to bowl in their hunt for victory.
The 2019 champions sit bottom of the 10-team table with four defeats from five matches.
fk/dj