All rounder Shakib Al Hasan hit an unbeaten 92 to guide Bangladesh to a comfortable five-wicket win over Sri Lanka on Wednesday and a place in the final of their triangular one-day series.
Bangladesh had to win with considerable margin to get a place in the final at the expense of Zimbabwe, and reached the 148-run target with seven overs to spare in a match reduced to 31 overs per side.
Hasan's impressive knock of 92 from 69 balls with 10 fours and two sixes rescued the hosts from early trouble, having slipped to 11-3.
Both openers Junaid Siddique (0) and Tamim Iqbal (9) were run out, while Thilan Thushara had Mushfiqur Rahim (1) caught behind.
Al Hasan and captain Mohammad Ashraful put on 91 runs for the fourth wicket in a stand that turned the course of the match.
Nuwan Kulasekara broke the partnership when Ashraful (26) tried his favorite hook shot and was caught near the boundary by Sanath Jayasuriya. Ajantha Mendis then dismissed Raqibul Hasan (3) cheaply, putting the match back in the balance with Bangladesh on 126-5.
Hasan and Naeem Islam (12) reached the winning target, with Islam hitting a four and then a six off the final two balls, giving Bangladesh a bonus point to overhaul Zimbabwe.
Bangladesh and Sri Lanka will meet again in Friday's final.
Earlier, a strong bowling performance, highlighted by four wickets on debut by 19-year-old seamer Rubel Hossain, justified Bangladesh's decision to send Sri Lanka in to bat after winning the toss.
After the start was delayed by more than three hours by fog, reducing the contest to 31 overs per side, Sri Lanka opener Sanath Jayasuriya hit a half century but the visitors' innings fell apart late, losing their last five wickets for just 23 runs.
Sri Lanka was in trouble early, stumbling to 4-2 after opening bowler Mashrafe bin Mortaza struck early, trapping opener Upul Tharanga lbw and then bowling Kumar Sangakkara, both for ducks.
But Jayasuriya took up the reins with captain Mahela Jayawardene, adding 71 runs for the third wicket before Islam had the skipper caught at midwicket on 28.
Jayasuriya (54), partnered by Chamara Kapugedara, lifted the score to 95 before being caught and bowled by Mortaza, who returned figures of 3-25 in his allotted seven overs. Jayasuriya's 67th one-day fifty came off 61 balls and included six boundaries.
Sri Lanka lost the next three middle-order wickets for just six runs.
Rookie Hossain, 19, got his first international wicket when he dismissed Angelo Mathews (2), after Jehan Mubarak was run out on 10.
The visitors were reduced to 130-7 when Mahbubul Alam bowled Kapugedera (28).
Hossain then dismissed Nuwan Kulasekara (5), had Thilan Thushara (0) caught behind and took the last wicket of Ajantha Mendis (0) with three balls unused, to end up with 4-33 on his international debut.
Al Hasan inspires Tigers
Bangladesh storm into final
Bangladesh News 24 hours
It was my best innings: Shakib
Bangladesh News 24 hours
Bangladesh beat Sri Lanka by 5 wickets
The Daily Star, Bangladesh