Virat Kohli ensured India made a winning start to their Asia Cup campaign as he hit yet another one-day international century against tournament hosts Bangladesh in Fatullah.
The stand-in skipper struck 136 - his sixth ODI century in the past 10 months - as India comfortably reeled in the Tigers' 279-7 with six wickets in hand.
Bangladesh captain Mushfiqur Rahim's 117 had been the foundation of the home innings, but he was then left helpless to stop Kohli as he stole the game away.
The right-hander hit 16 fours and two sixes during his 122-ball stay and with Ajinkya Rahane (73) combined in a decisive 213-run stand for the third wicket.
The 25-year-old Kohli has now scored 19 ODI centuries.
Mohammad Shami's 4-50 helped to restrict Bangladesh, whose innings relied heavily on a 133-run stand between Mushfiqur and opener Anamul Haque (77).
Young quick Varun Aaron broke their stand, his only wicket in an otherwise expensive return of 1-74.
Mushfiqur and Anamul targeted Aaron in the powerplay most significantly, taking 31 from his two overs during the fielding restrictions.
Mushfiqur's second ODI century arrived in the 46th over when he dug out a Shami yorker and, after taking a quick single, saw Kohli's shy at the stumps fly to the boundary to push him into three figures.
That moment of fortune helped Bangladesh take 43 from the last five overs, with Mushfiqur's fine display ended with three balls left when he mistimed Shami to deep mid-wicket.
India openers Shikhar Dhawan and Rohit Sharma put on 50 but failed to push on, falling in quick succession for 28 and 21 respectively.
That only set the stage for Kohli to play his latest match-winning knock and, with the in-form Rahane an able ally, he broke the back of the chase.
Kohli narrowly failed to see through the pursuit, bowled by a Rubel Hossain yorker with 13 runs still needed.
Rahane followed when he chipped Sohag Gazi down the ground, but India were not threatened as they won with an over in hand.