India 314 for 9 (Rohit 104, Rahul 77, Pant 48, Mustafizur 5-59) beat Bangladesh 286 (Shakib 66, Saifuddin 51, Bumrah 4-55, Pandya 3-60) by 28 runs
Bangladesh gave hope, only to give it away with silly mistakes, time and time again in their match against India, which they lost by 28 runs at Birmingham on Tuesday.
The win ends all hopes of Bangladesh making the semi-finals while India esure they qualify with one game against Sri Lanka still left to play.
Shakib Al Hasan was once again the star performer for the Tigers top-scoring with 66 and also bowling well to restrict India to less than 350.
There were vital contributions with the ball from Mustafizur Rahman, who took a five-wicket haul, becoming only the second Bangladeshi bowler to do so after Shakib, and Saifuddin batted well in the end to remain unbeaten on 51 but ran out of partners.
In the end, a Rohit Sharma century, which came after he was dropped by Tamim Iqbal on nine, and four wickets from Jasprit Bumrah showed the difference in class between the two sides.
On the other hand, smarter shot selections under pressure, would have led to bigger and better partnerships and Bangladesh would have won, but India kept their nerve till the end.
After winning a crucial toss, captain Virat Kohli decided to bat first on a surface where they lost chasing against England.
Openers Rohit and KL Rahul put on 180 runs for the first wicket before Soumya Sarkar had the wicket of Rohit, after he scored his century.
Rahul soon departed as Soumya Sarkar took his wicket after he scored 77.
With India looking to launch in the death overs Mustafizur Rahman was brought back into the attack and he took the key wickets of Kohli (26) and Hardik Pandya (0) to affect a double wicket maiden and bring the Tigers back into the contest.
It was very similar to what the left-arm fast bowler had done against the Windies a few games earlier.
From there, Bangladesh took control of the death overs as Shakib took the wicket of Rishabh Pant, who was playing an aggressive knock and then Mustafizur took the wickets of MS Dhoni (35), Dinesh Karthik (8) and Bhuvneshwar Kumar to have India at 314/9.
Bangladesh started cautiously but just as Tamim started to play some shots, he chopped on after scoring 22.
Shakib then came on and kept the runs ticking but his partners - Soumya Sarkar (33), Mushfiqur Rahim (24), Liton Das (22) kept getting set, only to play rash shots and give their wicket away.
And then things got worse as Mosaddek Hossain and Shakib himself got out in quick succession and the game looked over at 179/6.
But then Sabbir Rahman and Saifuddin formed a vital partnership in quick time to keep Bangladesh’s required run-rate under 10.
With 70 required off 42 balls, Bumrah deceived Sabbir with a slower ball and rattled his stumps and he was gone for 36.
Saifuddin carried on and took charge as captain Mashrafe Bin Mortaza came, hit a six, and got out next ball.
Rubel Hossain then helped Saifuddin to keep in touch with the required run rate for the next few overs and Bangladesh inched closer with 36 required off 18 balls.
But then in came Bumrah, to clean up Rubel and Mustafiz in the last two balls of his spell to ensure the Tigers didn’t get any closer.
The win for India takes them to 13 points and a semi-final berth while Bangladesh remain on seven from eight games.
New Zealand and England are on third and fourth spots respectively with 11 and 10 points and Pakistan are on fifth with nine points.
If England win their game against New Zealand tomorrow, Pakistan will be knocked-out of the tournament while England and New Zealand will both qualify.
Rohit Sharma’s century made it four centuries this World Cup, equalling the record for most number of centuries in a World Cup which was previously made by Sri Lanka’s Kumar Sangakkara at the 2015 World Cup.
Shakib Al Hasan with his runs and wicket today became the first ever cricketer in World Cup history with 500-plus runs and 10-plus wickets.
This was the first match that Bangladesh have lost where Mustafiz took three or more wickets.