England reignited their 2019 Cricket World Cup campaign when they defeated India by 31 runs at an electric Edgbaston.
The hosts bounced back from successive losses to defeat the only unbeaten team left in the tournament and will definitely reach the semi-finals with a win against New Zealand on Wednesday.
Jonny Bairstow crunched 111 as he reunited with the fit-again Jason Roy for an opening stand of 160.
Roy made 66 and Ben Stokes added some late impetus with 79 to lift England to 337-7.
Although England’s bowling was disciplined, there was the fear that India could pull off the highest chase in World Cup history when Virat Kohli was sharing 138 with Rohit Sharma, who went on to complete a century after Kohli departed for 66.
With 102 needed from the final 10 overs, MS Dhoni and Hardik Pandya briefly raised the hopes of the ecstatic India fans, only for England to hold their nerve and restrict India to 306-5.
If England beat the Black Caps at Chester-le-Street, they will finish second or third in the group and will be in the second semi-final, probably against India or Australia, at Edgbaston on 11 July.
Lose, and they will go out if Pakistan beat Bangladesh at Lord’s on Friday.
India, meanwhile, still need one win from their final two games against Bangladesh and Sri Lanka to be certain of a place in the last four.