Bangladesh defeated Sri Lanka by 103 runs under D/L method in the second One-day International to take an unassailable 2-0 lead in the three-match series to record their maiden ODI series win against the Island nation.
The third and final ODI will be played at the same venue on May 28.
Mushfiqur Rahim was in cracking form for the hosts, slamming a 127-ball 125 to get his team to 246 on a tricky wicket after Bangladesh won the toss and elected to bat.
The Bangladesh bowlers then came back firing on all cylinders, reducing the visitors to 141 for 9 in a rain-curtailed 40-over second innings to win the D/N match by 103 runs.
Mehidy Hasan Miraz and Mustafizur Rahman took three wickets apiece, while Shakib Al Hasan added two more to his haul to go level with Mashrafe Mortaza's 269 at the top of Bangladesh's ODI wicket-takers' list.
Australia and England are now the only two sides against whom Bangladesh have not won an ODI series.
Brief scores: Bangladesh 246 in 48.1 overs (Mushfiqur Rahim 125, Mahmudullah 41; Dushmantha Chameera 3-44) beat Sri Lanka 141-9 in 40 overs (Mustafizur Rahman 3-16, Mehidy Hasan Miraz 3-28) by 103 runs (D/L method).