After witnessing Pakistan thrash England in Cardiff on Wednesday, India were under pressure to set up a dream final with their arch rivals but despite Bangladesh initially batting well, they never looked in danger of failing to book their place at The Oval on Sunday.
However, they failed to build on those knocks and although a number of players made starts, they had to settle for 264-7 from their 50 overs.
Given India's batting lineup, that score was never going to be enough and Rohit Sharma was the star of the show as he produced an outstanding innings of 123 from 129 deliveries.
Virat Kohli missed out on his century, but his unbeaten 96 from 78 balls led to him ending the match still at the crease with Rohit as India won with 59 deliveries to spare.
Shikhar Dhawan also made 46 from 34 earlier in the innings and they will head into Sunday's showdown as the marginal favourites to defend the trophy they won in 2013.