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.


Mumbai Indians promote Pollard to head coach, replacing Jayawardene
Leclerc laps fastest for Ferrari in first US GP practice
Bayern coach Kompany hospitalised after collapsing during training session
Alexander Volkanovski's title defence headlines UFC 333 in Abu Dhabi
Juventus fight back to draw with Rennes as Leverkusen go top
