A spirited England ended India’s unbeaten run in the Cricket World Cup with a 31-run victory in a high-scoring group match to boost their semi-final prospects on Sunday.

Jonny Bairstow smashed a belligerent 111, Jason Roy returned from a hamstring injury to make 66 and Ben Stokes (79) provided the late burst in England’s commanding 337-7 after electing to bat on an Edgbaston featherbed.

Rohit Sharma smashed his third hundred of the tournament and Virat Kohli his fifth successive half-century but India did not get the late surge and finished on 306-5.

England leapfrog Pakistan to fourth place with 10 points from eight games, while India remain second on 11 from seven matches.

Eoin Morgan’s men will qualify for the semi-finals if they beat New Zealand in their final group match on Wednesday.

If they lose, they could be pipped by either Pakistan — who need to beat Bangladesh — or by Bangladesh, provided Mashrafe Mortaza’s men can pull off an unlikely double over India and Pakistan.

A no-result for England could also be enough because of their superior net run-rate.

“It’s been frustrating a little bit for the guys, we know how well we can play,” Bairstow said after collecting his man-of-the-match award.

“But today we were pretty good with bat, ball and in the field.

“It was the closest to a complete performance we’ve had in the competition but we also know we’ve got three must-win games in this World Cup up next.”

The hosts missed opener Roy particularly in their back-to-back defeats by Sri Lanka and Australia which had jeopardised their semi-final prospects.

The 28-year-old made an instant impact on his return, forging the tournament’s highest opening stand with Bairstow and both survived some torrid moments before tearing into the Indian attack during their 160-run stand.

Bairstow nearly deflected a couple of inside edges on to the stump and Roy got a caught-behind reprieve on 21 when he gloved Hardik Pandya.

The umpire, however, declared it wide and the Indians deliberated for a while before deciding against reviewing the decision in front of an anxious crowd of predominantly India fans.

England reached the 150 mark in the 21st over and it took a stunning catch by substitute fielder Ravindra Jadeja in the deep to send back Roy.

APPLAUSE FOR BAIRSTOW

Bairstow brought up his eighth ODI century off 90 balls, celebrating by dropping his helmet, stretching out his arms and soaking in the applause.

Mohammed Shami (5-69) returned to end Bairstow’s 109-ball blitz which included six sixes and 10 boundaries.

India managed to stem the boundary flow in the 30-40 over period, when they conceded only 43 runs while claiming two wickets.

Stokes clobbered three sixes and six boundaries in his blistering knock before Jasprit Bumrah dismissed him in the final over.

India, clad in their away orange-and-blue jerseys, wobbled early in their chase.

Chris Woakes began with three maiden overs, catching the scoreless KL Rahul off his own bowling in his second.

India could have been in a deeper crisis but Root, who made 44 with the bat, spilled Rohit, then on four, at slip off Jofra Archer.

Rohit went on to stitch a 138-run partnership with Kohli, the duo frustrating the English attack with their risk-free accumulation.

Kohli duly brought up his half-century but once again fell short of a hundred, slicing Liam Plunkett (3-55) to backward point.

Rohit could not be denied his 25th ODI century but he fell to Woakes after making 102 which included 15 boundaries.

Rishabh Pant made 32 in his World Cup debut and Hardik Pandya chipped in with a 45-run cameo but Mahendra Singh Dhoni, who made 42 not out, failed to do justice to his reputation as a ‘finisher’.

“We have to accept it. We are still playing good cricket. The mood is the same in the changing room. We will learn from it and move forward,” Kohli said.

Asked about their slow finish with Dhoni and Kedar Jadhav in the middle, the India captain said, “It was just not coming off. England were bowling good areas. It was not easy get to boundaries. We will have to sit down and assess.”