Leg-spinner Amit Mishra (3-26) was again among the wickets as India restricted the hosts to a below-par 138 for seven and chased down target with nine balls to spare to secure their third win in three matches in the tournament.
"We've performed well in this tournament but there are still a couple of areas we can improve in," India captain Mahendra Singh Dhoni told reporters.
"We fielded well but we've seen quite a few catches going down in the tournament and it has been a problem with all teams."
It was a familiar story for the Indians as Dhoni won the toss again and inserted Bangladesh before unleashing his bowlers who restricted their rivals to a sub-140 score for the third match in the tournament.
Once again Kohli proved why he is considered India's batting mainstay, walking in early after Shikhar Dhawan's cheap dismissal and staying till the end to secure the victory.
Once again, Dhoni hit a six to seal the win just as he did in the final of the 50-over World Cup in 2011.
"(Because of small chases) our middle order has not really been tested... I've not got any batting for a while, so it was a late decision (to promote myself). I said I should go out and play a bit."
Dhawan's struggle for fluency continued as the left-hander fell for one but the steady Sharma (56) and in-form Kohli (57 not out) negotiated the modest Bangladesh attack with ease on the way to a century stand.
Sharma got a reprieve on 34 when both Anamul Haq and Sohag Gazi went for the skied chance he offered and the fielders were lucky not to collide after wasting the opportunity to dismiss him.
Kohli played with the poise that has become his hallmark, shunning extravagance and scoring the occasional boundary to complete an comfortable chase.
Under tremendous pressure following listless performance this year, Bangladesh were boosted by opener Haq (44) and Mahmudullah (33) at the Sher-e-Bangla National Stadium.
Put into bat, Bangladesh lost their top three batsmen cheaply after off-spinner Ravichandran Ashwin dismissed Tamim Iqbal and Shamsur Rehman with successive deliveries.
Haq added 46 runs with skipper Mushfiqur Rahim (24) for the fourth wicket to arrest the slide but Mishra castled him with a googly to deny him his fifty.
Mahmudullah added 49 runs with Nasir Hossain for the sixth wicket and Mashrafe Mortaza hit the last ball of the innings for six as Bangladesh made an inadequate total against the 2007 champions.
West Indies, having won two of their three matches, are eyeing the second semi-final spot from this group as are Pakistan who went down to India but beat Australia.
Bangladesh and Australia have lost both their matches.