India walked through Bangladesh's total of 138 to win by 8 wickets - their third victory in a row - and reach the ICC World Twenty20 semi-finals for the first time in seven years, thanks to another superb show by the spinners and a partnership of 100 runs between Rohit Sharma and Virat Kohli.
Opting to bowl after winning the toss, India once again managed to limit the opposition to a manageable total as Amit Mishra continued his good form with figures of 3 for 25. R Ashwin was equally difficult for the Bangladeshi batsmen to face as the offspinner finished with Man-of-the-Match figures of 2 for 15.
Rohit and Kohli then made a mockery of the run-chase despite losing Shikhar Dhawan (1) early. The duo scored half-centuries while Bangladesh were guilty of some sloppy fielding and letting Rohit off when he was on 36.
India walked through Bangladesh's total of 138 to win by 8 wickets - their third victory in a row - and reach World T20 semis for the first time in seven years.
The Indian duo then didn't allow Bangladesh a way back into the game as they brought up their personal landmarks. Rohit (56) fell to a soft dismissal hitting a full toss from Mashrafe Mortaza straight to point.
Kohli remained not out at 57 off 50 balls, while skipper MS Dhoni - who came ahead of Yuvraj to bat for the first time in this tournament - raced to 22 in 12 balls and hit the winning runs with a mighty straight six.
The win took India top of Group 2 with 6 points.
Earlier, Bangladesh never recovered from losing wickets off consecutive balls to Ashwin. The hosts slipped further when their talisman player Shakib Al Hasan was bowled by Bhuvneshwar Kumar for 1.
Anamul Haque chose to counter-attack and looked to be rowing his team to safer shores with captain Mushfiqur Rahim (24) when the latter was dismissed by Mohmmad Shami. Bhuvneshwar and Shami ended their spells with one wicket apiece.
Towards the end of the Bangladesh innings, Mahmudullah managed to struck a few lusty blows in his knock of 33 not out in 23 balls that took the score past the 130-run mark. But it was never enough against India's batting might as Bangladesh suffered their second consecutive defeat.
India next play Australia on Sunday at 7 p.m. IST.