In 20 overs, the Tigers scored 147 for seven with Soumya Sarkar posting the highest score of 34 for the team. No other Bangladeshi batter was able to pass 20-run mark.
For Sri Lanka, Dushmantha Chameera bagged three wickets conceding 27 runs in four overs while Lahiru Kumara, Maheesh Theekshana, Wanindu Hasaranga, and Dasun Shanaka scalped one wicket each.
In reply, Sri Lanka slipped to 79/6 runs in 12 overs. It seemed a win only a matter of time for Bangladesh. But Avishka Fernando and Chamika Karunaratne put together an unbroken 69-run stand to seal victory in 19 overs.
Bangladesh will take on Ireland at the same venue on 14 October in the second warm-up match.
The Bangladesh team will return to Oman on 15 October before their first World Cup match against Scotland on 17 October. In Round 1, Bangladesh will then take on Oman and Papua New Guinea.