England beat India by 31 runs
England registered a 31-run victory over previously unbeaten India on Sunday.
England needed this win to stay in control of its own fate at the tournament, and once India captain Virat Kohli departed for 66 it always looked likely England would prevail.
Chasing 338, India finished on 306-5.
Kohli looked in typically superb form and shared a 138-run partnership with Rohit Sharma (102), who reached his century at a roughly run-a-ball rate and had hit 15 fours by that stage.
But India had been 28-1 after 10 overs — the slowest power play of the tournament so far — and it proved too heavy a weight to carry through the innings. Hardik Pandya was threatening with 45 off 33 balls but was caught by substitute fielder James Vince with around five overs left and India still needing 71 to win.
Earlier, England made 337 runs for 7 in 50 overs. Jonny Bairstow played a 111-run innings while Jason Roy made 57.
Joe Root chipped in with 44 and Ben Stokes smashed six boundaries and three sixes to lead the later charge with 79 from 54 as England.
England moved back into fourth spot in the standings on 10 points, one ahead of Pakistan. England plays 2015 finalist New Zealand in its last group game at Durham on Wednesday