What looked to be an interesting run chase at the half way stage of the chase turned out to be a one sided event as England won by 31 runs against India.
England moved a step closer to the World Cup semi-finals after Jonny Bairstow's 111 set up a crucial 31-run win over India in Birmingham on Sunday.
Eoin Morgan's side posted 337-7 thanks Bairstow and a dashing 79 from Ben Stokes.
Needing a record World Cup run chase to win, India finished on 306-5 as they were beaten for the first time in this year's tournament.
England can book a semi-final berth if they beat New Zealand in their final group match on Wednesday, while India, who have two games left, must wait to confirm their last four spot.
After the early departure of KL Rahul, Indian captain Virat Kohli and Rohit Sharma shared a 138 run stand which was broken as Kohli was caught by Vince. Sharma continued as he reached his century. However, the celebrations were cut short as Rohit departed soon after.
Rishab Pant never looked settled in the middle as Hardik Pandya hit the English bowlers all over the park. As Pant was sent back, there was pressure on Pandya since the next to bat MS Dhoni was out of his usual touch in the mega event.
Pandya was sent back at 45 as he was caught at long on.
India never seemed to put any effort behind the chase after Pandya's wicket. Kuldeep Yadav and Dhoni looked to rescue the team run rate as they took the safety first approach by not giving away their wicket.
India's loss meant the fate of Bangladesh, Pakistan and Sri Lanka hang on a thread to qualify for the final four.
Rohit Sharma scored a scintillating century before being caught by Buttler from behind the stumps as India looked to chase down the mammoth total.
Sharma reached his century in 109 balls as the ball came off a neat little chop behind point. There was really not enough room for the full blooded shot. So he checked himself. Which he did all innings considering this is a two-paced pitch.
Sharma started off his innings nervously being dropped early in his innings by Joe Root but found his flow in the later half. However, India find themselves in a spot of bother after his departure. Hardik Pandya took the field.
Virat Kohli departed for 66 as India were 146 for two.
The 138 run stand between Rohit Sharma and Kohli came to an end as Liam Plunkett scalped the prized wicket of Indian captain Virat Kohli. Steered a length ball to backward point. Another fifty but no cigar for Kohli, who has given England an opening just when things were beginning to get itchy. Eager to get bat on ball, skidded through a touch, and Vince swallowed a fat outside edge.
Rohit looked to get in his groove as he looked to power his innings. He scored 78 off 85 balls and is in search for his hundred. It is up to Rohit to carry India to the finish line if the men in orange look to chase down the total today.
Indian skipper Virat Kohli reached the half century mark in 59 balls at the end of the 20th over.
Runs have been hard to come for the Indian batsmen as the English bowlers have been tight with their line and length. The fielders have done their part as well except of missing a few half chances provided by Rohit Sharma. Virat on the other hand looked solid as he timed the balls to milk runs from the middle.
India scored a mere 28 for one at the end of the first power-play against England.
KL Rahul went early in the innings as Chris Woakes caught Rahul off his own bowling. There was an edge to the slip by Rohit Sharma but Joe Root could not hold on to it.
The English pacers have done well till now to contain the Indian batsmen from scoring runs freely. However, Virat Kohli and Sharma look to build a much needed partnership in the middle in chase of a mammoth 338 runs.
England end their innings at 337 for seven at Birmingham against India.
Jonny Bairstow hit a hundred and Ben Stokes added a blistering 79 as England posted an imposing 337-7 against India in a crunch World Cup match for the tournament hosts on Sunday.
England had to win at Edgbaston to keep qualification for the semi-finals in their own hands following successive defeats by Sri Lanka and reigning champions Australia.
Their favoured aggressive batting game came to the fore as they capitalised on captain Eoin Morgan's decision to bat first on a good pitch.
Opener Bairstow made 111, while Jason Roy more than justified his recall after missing three matches with a torn hamstring by making 66 in a first-wicket stand of 160.
Mohammed Shami, roared on by a hugely partisan crowd clad mainly in blue India shirts, took a career-best 5-69, his first five-wicket haul in a one-day international.
But despite the paceman becoming just the second player to take three successive four-wicket hauls in World Cup cricket after Pakistan's Shahid Afridi, India faced a tough task if they were to achieve a win that would guarantee their place in the last four.
"It was good to be back out there after some time on the bench. We have put a competitive total on the board," Roy said.
"We got a good start. We thought 320ish after the two openers were out so we are happy with that."
India have had 12 targets of 300 or more since the last World Cup, but have only enjoyed a successful chase in three of those matches.
Pre-tournament favourites England, looking to win the World Cup for the first time, had badly missed Roy.
Roy, however, was quickly into his stride, with the Surrey star chopping his second ball from Shami for four.
- Lucky breaks -
Bairstow, involved in a pre-match spat with former England captain Michael Vaughan after suggesting pundits wanted England to lose, had two lucky breaks when big inside edges missed the stumps.
India captain Virat Kohli brought on leg-spinner Yuzvendra Chahal in the sixth over but Bairstow soon hit him down the ground.
Roy could have been out on 21 when India all-rounder Hardik Pandya appealed for a caught behind down the legside off his fourth delivery.
But Pakistani umpire Aleem Dar signalled a wide instead and Kohli opted against a review, although replays suggested the ball had touched Roy's glove.
Roy then hit Pandya's next ball for six.
Bairstow went to fifty when he launched Chahal for a six that just cleared the back-pedalling KL Rahul at long-on, the fielder landing awkwardly as he made a desperate attempt at a catch.
Roy then followed Bairstow to the landmark in just 41 balls before, on 66, Ravindra Jadeja, the substitute for Rahul, ran in from long-on to hold a low diving catch.
Bairstow twice more clubbed Chahal over long-on for six.
A single off Pandya saw Bairstow to a 90 ball-hundred, including eight fours and six sixes. But his innings ended when he carved Shami to Rishabh Pant at deep cover.
Stokes maintained the momentum in a 54-ball innings before he was caught off Jasprit Bumrah in the last over. (AFP)
The patience of the Indian bowlers brought fruit as Bairstow and England skipper Eoin Morgan were sent back in quick succession.
Jonny Bairstow was caught at deep point as Mohammad Shami scalped the prized wicket. Bairstow looked to play pre-meditated shots as soon as he reached his hundred. He could not rotate strike as easily as he did earlier in his innings and in the process lost his wicket.
Morgan never looked comfortable in the middle as Shami scalped his wicket in the over after Bairstow's wicket. Morgan scored one off nine balls before getting giving a top edge to Kuldeep Yadav, who came diving forward from fine leg.
Ben Stokes took the field and looked to build a partnership with Joe Root as the runs looked hard to come.
Jonny Bairstow reached his maiden century in this World Cup in just 90 deliveries as England power through.
Bairstow scored runs all over the field as Indian bowlers can not find the answer to his rampage yet. As a result of his century, England were in the driving seat as Indian skipper Virat Kohli was still looking for a way to scalp Bairstow's wicket.
Jason Roy was sent back to the pavilion by Kuldeep Yadav as India got their first breakthrough.
The England openers Jason Roy and Jonny Bairstow rampaged through the Indian bowlers as they reached 150 within 21 overs.
However, Jadeja pulled off a blinder at long-on as Roy was in disbelief, but he had to go. This was a bit of a top-spinner, Roy got to the pitch to cart it down the ground but did not get the elevation. It still looked like a one bounce four until Jadeja came sprinting to his left, dived full length and plucked the ball inches from the ground. He is a wonder in the field, and it needed that moment of outlandish brilliance to break this opening stand.
Joe Root came to the field after the loss of the first wicket.
England won the toss and elected to bat first in their World Cup fixture against India at Edgbaston in Birmingham today.
England made two changes for this crucial game. Fit-again Jason Roy replaces James Vince while Liam Plunkett comes in for Moeen Ali.
India have one change too, with Rishabh Pant getting a game in place of Vijay Shankar.
England: 1 Jason Roy, 2 Jonny Bairstow, 3 Joe Root, 4 Eoin Morgan (capt), 5 Ben Stokes, 6 Jos Buttler (wk), 7 Chris Woakes, 8 Liam Plunkett, 9 Adil Rashid, 10 Jofra Archer, 11 Mark Wood
India: 1 Rohit Sharma, 2 KL Rahul, 3 Virat Kohli (capt), 4 Rishabh Pant, 5 MS Dhoni (wk), 6 Kedar Jadhav, 7 Hardik Pandya, 8 Kuldeep Yadav, 9 Mohammed Shami, 10 Yuzvendra Chahal, 11 Jasprit Bumrah
The two teams come into this match at opposite extremes. India, the only unbeaten team of the World Cup so far, have 11 points from six matches and a win today will confim their semifinal spot and will go a long way to ensuring top-two finish in group stages.
A win for India would also bolster the hopes of the other contenders for the semis -- Pakistan, Sri Lanka and Bangladesh.
England, meanwhile, come into the match on eight points from seven matches and a defeat would mean they would rely on the other results for their chances of sealing a last-four berth.