ICC Men's Cricket World Cup, Edgbaston, Birmingham England 337-7 (50 overs): Bairstow 111, Stokes 79, Shami 5-69 India 306-5 (50 overs): Rohit 102, Kohli 66, Plunkett 3-55 England won by 31 runs Scorecard ; Table ; Schedule

England reignited their World Cup campaign with a superb display to defeat 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.

World Cup group table Rank Team P W L T NR RR Pts 1 Australia (Q) 8 7 1 0 0 1 14 2 India 7 5 1 0 1 0.854 11 3 New Zealand 8 5 2 0 1 0.572 11 4 England 8 5 3 0 0 1 10 5 Pakistan 8 4 3 0 1 -0.792 9 6 Bangladesh 7 3 3 0 1 -0.133 7 7 Sri Lanka 7 2 3 0 2 -1.186 6 8 South Africa 8 2 5 0 1 -0.08 5 9 West Indies 7 1 5 0 1 -0.32 3 10 Afghanistan 8 0 8 0 0 -1.418 0 Top four go through to semi-finals

England bounce back

A shock defeat by Sri Lanka followed by a heavy loss to Australia left England, the pre-tournament favourites, facing an unthinkable early exit if they did not win their final two games.

The odds against them seemed to be growing. Not only would they have to overcome the impressive Indians at an Edgbaston that would be crammed with away support, but there remained a doubt over Roy, who tore his hamstring just over two weeks ago.

Sure enough, in terms of support, Birmingham was more like Bengaluru, a raucous mix of India shirts and flags, with drums and horns creating a constant din.

But, with their backs against the wall, England were restored to somewhere near their best, not least with an almost faultless display in the field.

They were helped by winning the toss and choosing to bat first on a good pitch and, more importantly, the return of Roy, who showed no effects of his injury by seamlessly slipping back into his hugely successful partnership with Bairstow.

And, even when faced with Kohli and Rohit, then Dhoni and Pandya, England's bowlers did not buckle, to the extent that India's first six did not come until the final over.

Bairstow's bat does the talking

Following the defeat by Australia, Bairstow responded to criticism of the England team by saying "people were waiting for us to fail".

Here, he let his batting do the talking, with a bristling, belligerent and brilliant hundred.

He needed fortune early on, twice inside-edging past his own stumps, but after that bullied the ball through the leg side - all of his six sixes and seven of his 10 fours came on the on side.

Roy also had luck. He could have been caught down the leg side on 21 off Pandya, only for the appeal to be turned down and India to decide against a review that would have revealed a brush of the glove.

After Roy was brilliantly caught at long-on by diving substitute fielder Ravindra Jadeja off the left-arm wrist spin of Kuldeep Yadav, India worked their way back into the game.

In a 10-over spell, England managed only 25 runs, no boundaries and lost both Bairstow and Eoin Morgan.

But Stokes, already with two scores of 89 and an 82 not out in the tournament, recaptured the momentum to give England 121 from the final 13 overs.

India beaten for the first time

India arrived with victories in all five of their completed games and it is to their credit they remained in this contest for so long.

Even after spin pair Kuldeep and Yuzvendra Chahal conceded 160 runs in their combined 20 overs and Mohammad Shami, who claimed five wickets, was punished by Stokes, the chase remained manageable thanks to the nerveless death bowling of Jasprit Bumrah.

After KL Rahul was caught and bowled in Chris Woakes' opening spell of five overs for eight runs, which began with three successive maidens, Kohli and Rohit were forced to build with patience.

Rohit, dropped at second slip by Joe Root off Jofra Archer on only four, struggled for timing, but Kohli was typically classy with drives and clips off the pads.

Just as England concerns were rising, Kohli sliced to point off Liam Plunkett, who more than justified his recall at the expense of Moeen Ali.

Kohli's dismissal sparked Rohit into life before the superb Woakes induced a toe-end to wicketkeeper Jos Buttler and followed that up with an astonishing diving catch on the deep square-leg boundary to remove Rishabh Pant.

The India fans chanted Dhoni's name when he arrived at the crease, however after Pandya holed out to long-on to give Plunkett his third wicket, their hero was reduced to a curious mix of singles and unsuccessful swings, and Edgbaston was emptying before the match was over.

Morgan praises players - what they said

England captain Eoin Morgan: "We played extremely well. Jason Roy and Bairstow at the top were magnificent to watch. The continuation of partnerships throughout took us to a formidable total.

"Our bowlers bowled well too. Liam Plunkett has been outstanding for us for four years, absolutely outstanding, particularly in that middle period of the innings.

"No game in this tournament is easy. Every game has been extremely tough and it will continue to be."

India captain Virat Kohli: "Every team has lost a game or two here and there.

"No-one likes to lose but we have to take it in our stride. We have to accept it.

"We are still playing good cricket. We will learn from it and move forward."