Islander Sri Lanka will play the final on Saturday (December 15) in Colombo against India, which eliminated their traditional rivals Pakistan by seven wickets in the other semi on Thursday.
Sent in to bat first, Bangladesh team were all out for 237 runs in 49.1 overs despite 65 runs in the 4th wicket and 52 runs in the 5th wicket stands.
Opener Mizanur Rahman contributed team highest 72 runs off 95 balls hitting seven fours and one six, number six Yasir Ali scored 72-ball 66 runs, including three fours and one six, middle order Mosaddek Hossain made 57-ball 39 runs with a boundary, Asif Hossain and Nazmul Hossain Shanta added another 14 and 10 runs for Bangladesh.
Chamika Karunaratne made the major damage to the Bangladesh innings grabbing four wickets for 31 runs while AM Fernando took two for 50 runs.
Chasing a target of 238 runs, Sri Lanka, riding on unbeaten 91 runs by Mendis, reached their ultimate goal scoring 241 runs for 6 in 48.2 overs.
Besides, DS Weerakkody (47), GSNFG Jayasuriya (39) and DAS Gunaratne (24) were the other notable scorers for the home side.
Shoriful Islam took two wickets for 50 runs.
Bangladesh booked a seat for the semifinals from four-team Group B beating hosts Pakistan U-23 side by 84 runs in the 3rd match after beating Hong Kong by 28 runs in their 2nd match riding on all-round performance by Mosaddek Hossain Saikat after a frustrating 97-run defeat against non-Test playing the United Arab Emirates (UAE) in the group opener.