Sri Lanka were unable to profit from Kusal Mendis' maiden one-day international century as heavy rain forced the abandonment of their clash with Bangladesh in Dambulla.
Mendis anchored Sri Lanka's innings superbly in the second game of the three-match series, converting a fifty into a century after eight previous failures to do so.
His 102 off 107 deliveries included nine boundaries and one maximum as he shared substantial partnerships with Upul Tharanga (65) and Dinesh Chandimal (24).
Mendis went to three figures in the 36th over of the day with a clip off his legs down to fine leg, but building on it proved short-lived as he was dismissed two overs later.
Following his departure, the tourists were able to go on and push their score past 300, Asela Gunaratne (39) and Milinda Siriwardana (30) providing crucial contributions.
Taskin Ahmed took a hat-trick in the final over of the day, the 21-year-old becoming the fifth Bangladesh player to achieve the feat, but the weather soon cut short any momentum for the tourists.
Taskin becomes the 5th Bangladesh player, after Shahadat, Razzak, Rubel and Taijul, to pick up a hat-trick in ODI cricket. pic.twitter.com/YAQSfrdIKK— Bangladesh Cricket (@BCBtigers) March 28, 2017
Bangaldesh won the opening ODI by 90 runs, meaning Sri Lanka must win Saturday's contest in Colombo to avoid a series defeat.