Rohit Sharma and Suresh Raina added 102 for the second wicket after India were asked to bat.
Rohit Sharma returned to form with a brilliant 89 to take India to 176.
Taim Iqbal counterattacked early on to negate the momentum shift after the early wickets.
Washington Sundar picked up 3 for 22, sending back Bangladesh's top order and giving India the upperhand early on.
Sabbir Rahman and Mustafizur breathed life back into the Bangladesh chase after early wickets with a 65-run stand.
Shardul Thakur bowled a stellar 19th over, giving away only five runs and had Bangladesh needing 28 off the last. The ask was tough as they finished 17 runs short.