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 another significant partnership and finished on 306-5.
#EoinMorgan's side get back to winning ways against India after defeat to Sri Lanka and Australia.
— ESPNcricinfo (@ESPNcricinfo) June 30, 2019
Confident about Wednesday, ??????? fans?https://t.co/nunR1IywEv | #ENGvIND | #CWC19 pic.twitter.com/DLL46RvnDV
England leapfrog Pakistan to fourth place with 10 points from eight games, while India remain second on 11 from seven matches.
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.
#CWC19 : #JonnyBairstow is the Player of The Match.
— All India Radio News (@airnewsalerts) June 30, 2019
Here is the latest team standings after #INDvENG match pic.twitter.com/gmfX2FKLv3
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.
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.
Watch the moment England ended India's unbeaten run in #CWC19#ENGvIND #WeAreEngland pic.twitter.com/f5zUZXlAto
— ICC (@ICC) June 30, 2019
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'.
Match 38: ENG v IND
England INNINGS R B
Roy c sub (Jadeja) b Yadav 66 57
Bairstow c Pant b Shami 111 109
Root c Pandya b Shami 44 54
Morgan c Jadhav b Shami 1 9
Stokes c sub (Jadeja) b Bumrah 79 54
Buttler c and b Shami 20 8
Woakes c Sharma b Shami 7 5
Plunkett not out 1 4
Archer not out 0 0
Extras (b2, lb2, w4) 8
Total (50 overs) 337/7
Fall of wickets: 1-160 (Roy), 2-205 (Bairstow), 3-207 (Morgan), 4-277 (Root), 5-310 (Buttler), 6-319 (Woakes), 7-336 (Stokes)
Bowling: Shami 10-1-69-5 (1w), Bumrah 10-1-44-1, Chahal 10-0-88-0 (2w), Pandya 10-0-60-0 (1w), Yadav 10-0-72-1
India INNINGS R B
Rahul c and b Woakes 0 9
Sharma c Buttler b Woakes 102 109
Kohli c sub (Vince) b Plunkett 66 76
Pant c Wood b Plunkett 32 29
Pandya c sub (Vince) b Plunkett 45 33
Dhoni not out 42 31
Jadhav not out 12 13
Extras (lb1, w6) 7
Total (50 overs) 306/5
Fall of wickets: 1-8 (Rahul), 2-146 (Kohli), 3-198 (Sharma), 4-226 (Pant), 5-267 (Pandya)
Bowling: Woakes 10-3-58-2, Archer 10-0-45-0, Plunkett 10-0-55-3 (4w), Wood 10-0-73-0 (1w), Rashid 6-0-40-0 (1w), Stokes 4-0-34-0
England won by 31 runs
MoM: Jonny Bairstow (ENG)