Muttiah Muralitharan swapped spin wizardry for batting fireworks, smashing 33 runs from 16 balls to guide Sri Lanka to a two-wicket win over Bangladesh in the tri-series final on Friday.
Needing 153 runs for victory, Sri Lanka appeared to be heading for a humiliating defeat when they lost their first five wickets for just six runs.
Kumar Sangakkara steadied the innings with 59 and Farveez Maharoof added a patient 38 before Murali, more accustomed to taking wickets than providing batting heroics, swung the game.
With 39 runs needed, Murali struck paceman Rubel Hossain for 20 runs in the 46th over to ease the pressure.
The spinner then hit Rubel, who was playing only his second match, again for a six and four in his next over to level the scores and Maharoof took a single to ease Sri Lanka home with 11 balls to spare.
Maharoof, playing his first match of the competition, had shared 63 runs with Sangakkara for the seventh wicket to keep Sri Lanka in the match.
Bangladesh, who beat Sri Lanka by five wickets at the league stage, had their opponents on the ropes from the first ball of their reply when opener Sanath Jayasuriya, at the non-striker's end, was run out by a direct hit from Shakib Al Hasan.
Upul Tharanga, Mahela Jayawardene, Chamara Kapugedera and Thilina Thushara then fell in quick succession, with Mashrafe Mortaza and Nazmul Hossain firing from both ends.
Nazmul finished with three for 30 while Mortaza claimed one for 18 in his 10 overs.
Earlier, Nuwan Kulasekara and Ajantha Mendis claimed three wickets apiece as Sri Lanka skittled out Bangladesh for 152 runs after Sri Lanka won the toss and opted to bowl first on a greenish wicket.
Roqibul Hassan top-scored for Bangladesh with an unbeaten 43.