Sri Lanka top-order batsman Kusal Perera dominated the Bangladesh bowlers as he registered a fiery century and kept the home side in the driving seat in most parts of the innings.
The left-handed batsman first posted a 97-run stand with opener Dimuth Karunaratne for the second wicket before adding 100 for the third wicket with Kusal Mendis.
Perera departed for 111 off 99 deliveries with 17 boundaries and a six as Soumya Sarkar removed him for a rather soft dismissal.
The Sri Lanka batter walked off scoring his second ODI century against Bangladesh with the first coming in Dhaka in 2014.
1ST ODI
SRI LANKA INNINGS R B
Fernando c Soumya b Shafiul 7 13
Karunaratne c Mustafizur b Miraz 36 37
Kusal c Mustafizur b Soumya 111 99
Mendis c Mushfiq b Rubel 43 49
Mathews c Sabbir b Mustafizur 48 52
Thirimanne c Soumya b Mustafizur 25 30
Thisara c Soumya b Shafiul 2 3
De Silva c Sabbir b Shafiul 18 12
Malinga not out 6 6
Pradeep not out 0 0
Extras (lb 1, nb 1, w 16) 18
Total (50 Overs) 314/8
Fall Of Wickets
1-10 (Fernando), 2-107 (Karunaratne), 3-207 (Kusal), 4-212 (Mendis), 5-272 (Thirimanne), 6-276 (Thisara), 7-302 (Mathews), 8-309 (De Silva)
Bowling
Shafiul 9-0-62-3, Miraz 9-0-56-1, Rubel 9-0-54-1, Mosaddek 7-0-45-0, Mustafizur 10-0-75-2, Soumya 5-0-17-1, Mahmudullah 1-0-4-0
BANGLADESH INNINGS R B
Tamim b Malinga 0 5
Soumya b Malinga 15 22
Mithun lbw b Pradeep 10 21
Mushfiq c Mendis b Pradeep 67 86
Mahmudullah c sub b Kumara 3 10
Sabbir c Fernando b De Silva 60 56
Mosaddek run out (Mendis) 12 16
Miraz c Mendis b De Silva 2 5
Shafiul b Pradeep 2 9
Rubel not out 6 6
Mustafizur c Thisara b Malinga 18 14
Extras (lb 4, w 24) 28
Total (41.4 Overs) 223 all out
Fall Of Wickets
1-1 (Tamim), 2-30 (Mithun), 3-30 (Soumya), 4-39 (Mahmudullah), 5-150 (Sabbir), 6-182 (Mosaddek), 7-187 (Miraz), 8-199 (Mushfiq), 9-200 (Shafiul), 10-223 (Mustafizur)
Bowling
Malinga 9.4-2-38-3, Pradeep 9-1-51-3, Thisara 6-0-36-0, Kumara 7-0-45-1, De Silva 10-0-49-2
Sri Lanka won by 91 runs