Das held the innings together during his 117-ball 121 which featured a dozen boundaries and two sixes but Bangladesh , who were put into bat, were all out in 48.3 overs despite a solid opening stand of 120 with Mehidy Hasan.
With their settled opening pair of Rohit Sharma and Shikhar Dhawan, India were expected to run away with victory, like they did in the previous matches but Bangladesh were not ready to give up without a fight.
Dhawan was dismissed for 15 and Sharma for a punishing 55-ball 48, studded with three sixes and as many boundaries.
Dinesh Karthik (37) and Mahendra Singh Dhoni (36) added 54 for the fourth wicket but once both were dismissed Bangladesh looked like pulling off an upset.
India then required six off the last over and one off the final delivery which came as a leg-bye. Kedar Jadhav finished with 23 not out.
Earlier Bangladesh lost all their wickets for 102 runs in a major middle order collapse after a brisk opening stand of 120.
Hasan was promoted to open the innings and he and Das attacked India 's pace-cum spin attack.
But once Hasan was caught off Jadhav in the 21st over the innings collapsed with Bangladesh losing four more wickets by the time the score reached 151.
Hasan hit three boundaries in his 59-ball 32 while Soumya Sarkar made a 45-ball 33 with a boundary and a six.
Former captain Mushfiqur Rahim, who scored 144 and 99 earlier in the tournament, also hold out off Jadhav who finished with 2-41. Rahim made just five.
Bangladesh 's cause was not helped by three run-outs while left-arm spinner Kuldeep Yadav returned with the best figures of 3-45.
India : Rohit Sharma (capt.), Shikhar Dhawan, Ambati Rayudu, Dinesh Karthik, MS Dhoni (wk), Kedar Jadhav, Ravindra Jadeja, Bhuvneshwar Kumar, Kuldeep Yadav, Yuzvendra Chahal, Jasprit Bumrah
Bangladesh : Liton Das, Soumya Sarkar, Mohammad Mithun, Mushfiqur Rahim (wk), Imrul Kayes, Mahmudullah, Mehidy Hasan, Mashrafe Mortaza (capt.), Nazmul Islam, Rubel Hossain, Mustafizur Rahman