Lower-order batsman Mehidy Hasan Miraz conjured an unbeaten 38 in a low-scoring thriller as Bangladesh stunned India by one wicket in the opening one-day international in Mirpur.
Chasing 187 for victory, the home side slumped to 136-9 in the 40th over with India looking in command at the Shere Bangla National Stadium.
Mehidy refused to throw in the towel, however, and combined with Mustafizur Rahman in a 51-run partnership, Bangladesh's highest for the 10th wicket, to secure a memorable victory with four overs to spare.
An upset looked on the cards after Bangladesh, having elected to field, bundled out India for 186 in 41.2 overs.
Shakib Al Hasan (5-36) wrecked India's top order, dismissing Rohit Sharma (26) and Virat Kohli (nine) in the same over.
KL Rahul saved India's blushes with 73 off 70 balls before falling to Ebadot Hossain (4-47) who also claimed the important wicket of Shreyas Iyer (24).
Deepak Chahar gave India the perfect start by dismissing Najmul Hossain with the first delivery of the Bangladesh innings but skipper Litton Das (41) and Shakib (29) kept the hosts on course.
They suffered a mid-innings collapse but Mehidy, dropped by Rahul on 15, punished India for their sloppy fielding and general indiscipline in bowling which resulted in 17 extras.
Mirpur also hosts the second ODI of the three-match series on Wednesday.


Luiten leads the way at DP World Tour Championship
Jake Paul hails Dubai as "perfect place" for Christmas Eve comeback fight
Derron and Taylor-Brown renew T100 title fight in Dubai
Racing Bulls confirm Lawson and Lindblad for 2027
Manchester United sack Carrick, talks ongoing for Pochettino
