Tillakaratne Dilshan scored his 15th one-day international hundred to guide Sri Lanka to an eight-wicket win with 32 balls to spare in the first match of the series against Bangladesh on Saturday.
The home team triumphed via the Duckworth-Lewis method after being set a revised target of 238 in 41 overs when a power failure delayed the start of their innings by 40 minutes.
Dilshan won the man of the match award for cracking an unbeaten 113 off 108 balls with 11 fours, eclipsing the hundred made earlier by Bangladesh opener Tamim Iqbal.
Bangladesh, who were put into bat, racked up 259 for eight in 50 overs with Tamim making 112.
Dilshan, 36, and Kusal Perera then gave Sri Lanka a flying start with an opening stand of 106 in 73 balls.
After Perera was dismissed for 42, Dilshan added 128 for the second wicket with Kumar Sangakkara (63). Dinesh Chandimal, three not out, produced the winning hit.
The visitors recovered well from 63 for three thanks to two half-century partnerships involving Tamim who paced his innings well before being run out in the 44th over.
The opener struck 10 fours and one six and reached three figures with a four off Sri Lanka skipper Angelo Mathews.
Tamim shared partnerships of 66 and 75 with Mahmudullah (29) and Nasir Hossain who hit a sparkling 73 not out off 59 balls containing three sixes and six fours.
The 24-year-old Tamim later sustained a hairline fracture of his right thumb while trying to stop a powerful shot from Dilshan.
Bangladesh's innings was also interrupted for 20 minutes due to a power failure.
The second game in the three-match series is at the same venue on Monday.