Virat Kohli smashed a century as India maintained their perfect record in their 50-overs home World Cup and cruised to their fourth consecutive victory with a clinical seven-wicket win against Bangladesh on Thursday.
Bangladesh had to conjure up something extraordinary to upset an India team who went into the match after three successive wins, and the task became even harder in the absence of skipper Shakib Al Hasan was injured.
Electing to bat, Bangladesh could not capitalise on a 93-run opening stand between Litton Das and Tanzid Hasan, making 256-8 on a good batting pitch at the Maharashtra Cricket Association Stadium.
It was a clinical effort by India's attack, considering they were one bowler short from early in the match after Hardik Pandya twisted his ankle in his first over.
Skipper Rohit Sharma led India's rapid reply and Kohli ended with an unbeaten 103, hitting a six to reach his hundred and secure India's win with 51 balls to spare.
"It was a good win, something that we were looking forward to," Rohit said after India drew level with New Zealand on eight points at the top of the table.
"We did not start well but we pulled it back well in the middle stages and at the back end as well."
The first six overs yielded only 19 runs for Bangladesh after stand-in captain Najmul Hossain Shanto won the toss and elected to bat.
Pandya was introduced in the ninth over but he could bowl only three balls before hurting his ankle.
Decibel levels soared at the stadium soon as part-time seamer Kohli stepped up to complete that over.
Kuldeep Yadav drew first blood by trapping Tanzid lbw and India claimed three quick wickets to peg back Bangladesh.
Ravindra Jadeja dismissed Shanto for eight and had Das caught in the deep.
In between those dismissals, wicketkeeper KL Rahul flew to his left to take a stunning one-handed catch after Mehidy Hasan Miraz had tickled Mohammed Siraj down the leg side.
Jadeja pulled off an equally spectacular catch at backward point to cut short Mushfiqur Rahim's promising knock of 38 before Mahmudullah smashed a breezy 46 to help Bangladesh pass the 250-mark.
Rohit (48) set alight the powerplay overs as he did in the last two matches when India began their chase.
Shubman Gill (53) was initially content admiring the effortless shot-making of his captain before he joined the party by hitting Nasum Ahmed for two sixes in the same over.
Hasan Mahmud bounced out Rohit but followed it with two no-balls and Kohli gleefully smacked a four and a six off the resulting free-hit deliveries to ease any pressure on India.
Gill could not build on his half-century, holing out to Mahmudullah on the boundary.
Kohli has engineered many a successful chase for India and the right-hander revelled in that role again.
Sensing a 48th ODI century, Kohli, who was adjudged-player-of-the-match, refused singles on more than one occasion before reaching the milestone with his fourth six.
"India are always a very good side," Shanto said after Bangladesh slumped to seventh place after their third loss in four matches.
"They are capable of playing this way and they showed us today that they can play better cricket."
Twice champions India and 2019 runners-up New Zealand meet in a mouth-watering match between the tournament's two unbeaten teams in Dharamsala on Sunday.