India sailed into the ICC World Cup semi-finals and eliminated opponents Bangladesh after Rohit Sharma's century and Jasprit Bumrah's four-wicket haul secured a 28-run victory over their neighbours on Tuesday.
Rohit smashed his fourth century of this year's tournament and featured in a massive 180-run opening partnership with KL Rahul to help India to a commanding 314-9.
Shakib Al Hasan struck a defiant 66 but the lack of partnerships hurt Bangladesh, who were all out for 286 in 48 overs with Bumrah (4-55) sealing the victory by claiming two wickets with the final two deliveries.
India are now second with 13 points, one behind leaders Australia, and play Sri Lanka in their final group match on Saturday.
Earlier, Rohit combined with Rahul (77) for the highest opening partnership at this year's tournament to give India a strong foundation after they elected to bat.
Things could have been vastly different though had Tamim Iqbal not spilled Rohit, then on nine, at midwicket off Mustafizur Rahman who went on to return 5-59.
Rohit capitalised on the reprieve to smash a 92-ball century, equalling Sri Lankan Kumar Sangakkara's record of four hundreds in a single World Cup.
The opener clobbered five of the seven sixes in the Indian innings, besides seven fours, and overtook Australian David Warner as the leading scorer at this tournament.
Soumya Sarkar ended the ominous-looking partnership in the 30th over when Rohit mistimed his drive.
Rahul joined him in the pavilion after bringing up his second half-century of this tournament.
Virat Kohli made 26, his first sub-50 score in his last six innings, and India's middle order again struggled to get going.
Rishabh Pant, who made 48 off 41 balls, scored freely but India could not really capitalise on the fine start.
Mahendra Singh Dhoni made 35 but once again failed to launch a late assault which could have taken India past the 350-mark which had looked well within their reach at one stage.
India played two wicketkeepers -- Pant and Dinesh Karthik -- as specialist batsmen to beef up their misfiring middle order but the woes persisted.
A strong start was imperative to chase down a 300-plus target and Bangladesh were understandably cautious as they embarked on trying to repeat their upset victory against India at the 2007 World Cup.
Bhuvneshwar Kumar, returning from a hamstring injury, and Jasprit Bumrah kept it tight up front but Mohammed Shami drew the first blood for India by dismissing Tamim for 22.
Fellow opener Soumya Sarkar could not convert the start he got into a big innings either, hitting Hardik Pandya straight to Kohli at short extra cover to depart for 33.
Shakib brought up his sixth 50-plus score at the tournament but wickets kept tumbling at the other end.
Mohammad Saifuddin (51 not out) and Sabbir Rahman (36) forged the only 50-plus partnership in the Bangladesh innings but they never really threatened to pull off a difficult chase.
PIX: Rohit's fourth ton seals semis berth for India
Shakib first to 500-plus runs, 10 wkts in World Cup
Rohit is 2019 World Cup's leading scorer after 4th ton
Clive Lloyd: India must strengthen lower order batting
Bumrah hurts right shoulder while fielding