The third and last Group B match was played at the Tyronne Fernando Stadium in Moratuwa on Tuesday.
With the feat, the young Tigers topped the Group B list securing full six points from three group matches while six-time champions India clinched the Group A title also with full six points from three group matches
India will encounter Sri Lanka in the first semifinal in Colombo.
Bangladesh opted to bat first after winning the toss and scored a challenging 273 runs for 7 wickets in 50 overs.
After losing first wicket for 56 runs, opener Mahmudul Hasan Joy paired with two-down Towhid Hridoy and added 121 runs in the third wicket stand.
Opener Mahmudul Hasan Joy was the best batsman for Bangladesh hitting 126 off 140 balls with 12 fours and two sixes while Towhid Hridoy made a half century scoring 50 off 75 balls with four boundaries.
For the hosts, Dilshan Madushanka bagged three wickets and Ashian Daniel took two.
In reply, Sri Lanka were dismissed for 231 in 47.4 overs. Rohan Sanjaya, the number nine batsman of Sri Lanka, scored their highest individual score hitting 42 while Nipun Dhananjaya scored 36. But they were not good enough to chase down a total of 273.
Rakibul Hasan, the left-arm orthodox spinner of Bangladesh, bagged three wickets while right-arm off-spinner Ashraful Islam and left-arm pacer Shoriful Islam took two wickets each.
Before this match, Bangladesh beat the United Arab Emirates and Nepal.