England has revitalized its Cricket World Cup campaign with a 31-run victory over India at Edgbaston.

Eoin Morgan's team 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.

India finished on 306-5 after losing the toss and watching England amass 337-7 with a first World Cup century from Jonny Bairstow (111) and Jason Roy returning from a hamstring injury with a 57-ball 66 in an opening stand of 160.

Ben Stokes smashed six boundaries and three sixes to lead the later charge with 79 from 54 as England, looking at a 400-plus total at one point, still managed to set India a record World Cup chase.


Not that it was always comfortable for England.

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.

England moved back into fourth spot, one point ahead of Pakistan.

India remains second with a game in hand on its rivals but Kohli's team is no longer unbeaten.

For New Zealand it means they now must beat England on Wednesday night or if they lose, hope that Pakistan don't beat Bangladesh by enough to finish on a higher net run rate.