Sadeera Samarawickrama remained prominent with 93 runs off 72 balls while opener Pathum Nissanka made 40 and Kusal Mendis smashed fifty to help team set a challenging total for the opponent team.
Earlier, Bangladesh won the toss and decided to field first against the hosts.
Sri Lanka have not made any changes to their playing XI, meanwhile Bangladesh have brought in Nasum Ahmed for Afif Hossain.
Bangladesh's batting failed to impress in two of the three matches of the 50-over tournament, a precursor to the upcoming ICC World Cup in India. The Bangla Tigers take on Sri Lanka in a must-win match to keep their hopes high of reaching the final, after they went down in their Super Four opener to Pakistan.
“We will field first, no particular reason, there could be some rain around. We have one extra bowler and we will bowl first. A must-win situation, but playing against Sri Lanka in Sri Lanka isn't easy. There is no room for complacency, it's a bit different to Pakistan and we'll have to adjust,” Bangladesh captain Shakib said at the toss.
Sri Lanka are playing their first match in the Super 4 after they survived a big scare against Afghanistan in the Asia Cup group stage.
“We would have batted first, it'll seam and spin a bit under lights. The rules in ODIs mean it's difficult to defend totals, but we do have class bowlers like Pathiran and Theekshana, that helped us fight back against Afghanistan. The talk is about trusting yourselves and following the process. The guys have been delivering and that's key to being a good side,” said Sri Lanka skipper Dasun Shanaka.
Bangladesh: Mohammad Naim, Mehidy Hasan Miraz, Litton Das, Shakib Al Hasan (c), Towhid Hridoy, Mushfiqur Rahim (wk), Shamim Hossain, Taskin Ahmed, Shoriful Islam, Hasan Mahmud, Nasum Ahmed
Sri Lanka: Pathum Nissanka, Dimuth Karunaratne, Kusal Mendis (wk), Sadeera Samarawickrama, Charith Asalanka, Dhananjaya de Silva, Dasun Shanaka (c), Dunith Wellalage, Maheesh Theekshana, Kasun Rajitha, Matheesha Pathirana