Bangladesh beat Sri Lanka by three wickets in their rain-interrupted third and final one-day international in Pallekele on Thursday.
The visitors chased a reduced score of 184 off 27 overs, and hit the winning runs with six balls to spare.
Earlier, Tillakaratne Dilshan cracked a quick-fire 125 to help Sri Lanka post a challenging 302-9.
The in-form opener, who made an unbeaten 113 in the first match, hit 12 fours in a 128-ball knock for his 16th one-day hundred to boost his team's hopes of clinching the series.
Sri Lanka lead 1-0 in the series following their eight-wicket victory in the opening match in Hambantota. The second one-dayer at the same venue was abandoned due to rain.
Dilshan, who reached his century with a single off left-arm spinner Abdur Razzak, was the seventh man out, caught by Nasir Hossain at mid-wicket off paceman Shahadat Hossain in the 47th over.
Razzak, who removed Nuwan Kulasekara and Sachithra Senanayake off successive balls in his last over, finished with 5-62, his fourth five-wicket haul. He also completed 200 wickets in one-day internationals.
Sri Lanka were reduced to 263-7 before Lahiru Thirimanne smashed a 15-ball 25 not out late in the innings to help his side cross the 300-mark.
The hosts got off to a solid start after electing to bat in the day-night match as Dilshan and Kusal Perera (56) added 116 for the opening wicket.
Dilshan consolidated Sri Lanka's position when he put on 87 for the next wicket with Kumar Sangakkara (48), who completed 11,000 one-day runs during his 49-ball knock.
Sangakkara fell in the 36th over, caught by Anamul Haque at mid-wicket off Razzak after hitting five fours.(Supersport.com)