The defending champions will take on arch-rivals Pakistan in the title clash on Sunday.
Needing 265 for victory, India chased down the target with 59 balls to spare at the Edgbaston.
Bangladesh: 264/7 in 50 overs (Tamim 70, Mushfiqur 61; Bumrah 2/40).
India: 266/1 in 40.1 overs (Rohit Sharma 123 not out, Virat Kohli 96 not out).
(This story has not been edited by Business Standard staff and is auto-generated from a syndicated feed.)