Bangladesh ended Sri Lanka's unbeaten run at the 2025 Asia Cup with a nervy four-wicket win in Dubai on Saturday.