Bangladesh was given a target of 315 runs by India to chase.
The Bengal tigers hope New Zealand beat England and they needed to win both of their remaining matches if they were to go through to the semifinals.
On the other hand, India needed to win one of their two remaining group games to be assure of reaching a third successive World Cup semi-final.
With India victory against Bangladesh, the Men in Blue booked their place in the semi-finals, joining reigning title-holders Australia in the last four with a match to play.
For the second match in a row, India’s Rohit Sharma was dropped in single figures and made a hundred.
Sharma’s 104, his fourth century of the World Cup, help India reached to 314-9 despite Mustafizur Rahman’s 5-59.
That proved too a great deal for the Tigers, who were dismissed for 286 with two overs to spare, India spearhead Jasprit Bumrah taking 4-55.
Bangladesh play with Pakistan in their last group match at Lord’s on Friday.
India meets Sri Lanka on the final day of the round-robin phase on Saturday.