Tamim Iqbal smashed 84 as Bangladesh hit 320 and then inflicted further misery on Sri Lanka to claim a record-breaking one-day victory on Friday.
Sri Lanka, under new coach Chandika Hathurusingha, were skittled out for 157 and the performance will set new alarm bells ringing after they lost to Zimbabwe in their previous match in the three-nation contest.
But Bangladesh celebrated their victory, the 163-run margin their biggest ever in terms of runs.
"If you look at (the) recent past, it is one of our best wins," said captain Mashrafe Mortaza.
"I think Tamim could have got a hundred. Shakib also could have gone on."
The 28-year-old left hander Tamim plundered two sixes and seven fours as Bangladesh came within four runs of their record one-day score against Sri Lanka.
He was given strong support by Shakib Al Hasan who made 67, and took three for 47 to claim man of the match honours, and Mushfiqur Rahim on 62.
Tamim put on a scintillating 99 for the second wicket with Shakib before wicketkeeper Niroshan Dickwella successfully reviewed a not-out decision to end his 102-ball innings.
Sri Lanka, rebuilding under Hathurusingha after their worst year in international cricket, never posed a serious threat as they lost by 163 runs.
With captain Angelo Mathews missing due to injury, Thisara Perera hit the top score of 29 while wickets regularly tumbled at the other end. Hathurusingha saw his side collapse in 32.2 overs.
Perera, who took 3-60, was also his side's most effective bowler.
But nothing could stop Tamim, Shakib and Rahim setting up their side's triumph. Only some excellent bowling by Perera at the end of the Bangladesh innings prevented an even bigger defeat.
Bangladesh's win beat the 160-run victory made over West Indies in 2012. They defeated Zimbabwe by eight wickets in the first match of this tournament.
Sri Lanka play Zimbabwe in the next match on Sunday.