Shakib Al Hasan's powerhouse batting and inspired bowling performances from vice-captain Mashrafe Mortaza and debutant Rubel Hossain ensured Bangladesh beat Sri Lanka in the third match of the tri-series and, more importantly, secured a place in the final on Friday, where they will face the same opposition again.
In a must-win match for them, reduced by bad light to 31 overs each, Bangladesh restricted Sri Lanka to 147 before Shakib's 92 off 69 balls completed the win. A fourth-wicket stand of 91 between Shakib and captain Mohammad Ashraful helped them pick up the bonus point as well to end the hopes of Zimbabwe, the third team in the competition.
Bangladesh got off to a disastrous start during their chase as Junaid Siddique was run out in the first over. Two overs later, lightning struck twice as Mushfiqur Rahim got a thick edge to Sangakkara off Thushara and Tamim Iqbal was caught short of his crease by Kapugedera direct-hit, attempting a suicidal run.
The hosts were in deep trouble as the all-too-familiar story looked in the offing. Enter Shakib Al Hasan and Mohammad Ashraful.
Both looked determined right from the start, as they tried to get Bangladesh on course. Mohammad Ashraful played the silent support role to Shakib Al Hasan, who came down severely on the bowlers - two boundaries each in successive overs from Thushara and Kulasekara setting the tone. Mathews was treated with similar disdain in his first over with a six and four as the run-rate crept above five.
Shakib soon brought up his 50 off 45 balls and had plundered six boundaries and a six by then, and looking good for more. But just when the partnership was nearing 100, Ashraful fell, trying to hook a short one from Kulasekera as Jayasuriya pulled off a smart catch running across from fine leg.
But Shakib continued unfettered and even Raqibul's dismissal two overs later failed to curb the free-flowing strokes. He edged Bangladesh closer to the bonus point, hitting ten fours and two sixes during the blitz. Naeem ended the innings in perfect finish with a six off Mendis, as they registered their second win against Sri Lanka.
Ashraful's decision to field, paid off immediately with Mortaza striking twice in his first two overs, removing Upul Tharanga and Kumar Sangakkara. He then removed Sri Lanka's top-scorer Sanath Jayasuriya, whose fifty was largely responsible for pushing the visitors to a somewhat respectable total.
Jayasuriya's 64-ball innings included seven boundaries, but failed to encourage the other batsmen as the middle and lower orders fell apart. Rubel helped himself to the spoils, ending with 4 for 33, and was responsible for the damage towards the end.
The reduced overs resulted in a 6-3-3 Powerplay split, with a maximum of seven overs for any one bowler and six each for four others. Mortaza struck with the third ball of the morning, trapping Tharanga leg before. In his next over, he produced an identical delivery to castle Kumar Sangakkara.
Rubel was given a hostile welcome to international cricket by Jayasuriya, who hit him for two fours in his first over and then got a life when Raqibul Hasan failed to pull off a catch off a short delivery from Mortaza.
Bangladesh then opted for spin at both ends through Naeem Islam and Shakib Al Hasan. Naeem managed to break the stand in the 18th over when Jayawardene holed out to Rubel at deep-midwicket while attempting a slog sweep.
Mortaza was then brought on soon after and had Jayasuriya caught and bowled shortly after bringing up his half-century as Sri Lanka found themselves in a spot of bother at 95 for 4.
In a bizarre turn of events which followed, Sri Lanka then lost five wickets in a space of four overs - Jehan Mubarak was run out for 10, Angelo Mathews was caught by Mortaza at mid-on off Rubel, while Kapugedera chopped a Mahbubul Alam delivery on to his stumps.
Rubel struck twice in the 29th over, to remove Nuwan Kulasekara and Thilan Thushara with the first and last deliveries. And he capped off the dream start getting Ajantha Mendis caught by Ashraful at short cover in the last over of the innings.