man.
Sangakkara had made only 23 when he top-edged a short ball from Taskin Ahmed, but the ball spilled out of the bowler’s hand as he dived forward to hold the catch.
Sangakkara completed his 94th one-day 50 by sweeping Shakib Al Hasan for his eighth boundary, but escaped a second time soon after when Mominul Haque dropped a catch at point off Rubel.
The 37-year-old reached his century in the final over to complete a total domination by the Sri Lankan batsmen of the Bangladeshi attack.
Bangladesh lost flamboyant opener Tamim Iqbal off the second ball, bowled by Lasith Malinga, and slipped to 41 for three by the seventh over.
Anamul’s misery in Melbourne mounted when, after making a stroke-filled 29, he charged down the wicket for a non-existent single and was run out by a direct throw from Sri Lankan captain Angelo Mathews.
Sabbir Rahman top-scored with 53 and Shakib made 46 during a sixth-wicket stand of 64 with Rahim, but their effort came too late to cause a dramatic change of fortunes for Bangladesh.
Malinga finished with three wickets, with Suranga Lakmal and Dilshan claiming two each.
Sri Lanka brought in batsman Dinesh Chandimal in place of all-rounder Jeevan Mendis, who was ruled out of the tournament with a hamstring injury.
Bangladesh retained the same side that defeated Afghanistan in their first game. Their match against co-hosts Australia was washed out.
Sri Lanka, who have four points from three games, take on England next in Wellington on Sunday.
Bangladesh, left with three points from as many matches, play Scotland in Nelson on March 5.
Score Board
Sri Lanka won toss
Sri Lanka
H D R L Thirimanne c Taskin b Rubel 52
T M Dilshan not out 161
†K C Sangakkara not out 105
Extras (b 3, lb 2, w 9) 14
Total (1 wicket; 50 overs) 332
Did not bat: F D M Karunaratne, D P M D Jayawardene, *A D Mathews, L D Chandimal, N L T C Perera, H M R K B Herath, S L Malinga, R A S Lakmal
Fall: 1-122
Bowling: Mashrafe 10-0-53-0; Rubel 9-0-62-1 (5w); Taskin 10-1-82-0 (2w); Shakib 10-0-55-0; Mahmudullah 7-0-49-0; Sabbir 4-0-26-0 (1w)
Bangladesh
Tamim b Malinga 0
Anamul run out 29
Soumya c Sangakkara b Mathews 25
Mominul c Jayawardene b Lakmal 1
Mahmudullah c Herath b Perera 28
Shakib c Malinga b Dilshan 46
†Mushfiqur b Lakmal 36
Sabbir c Sangakkara b Malinga 53
*Mashrafe st Sangakkara b Dilshan 7
Rubel not out 0
Taskin lbw b Malinga 0
Extras (lb 9, w 6) 15
Total (all out; 47 overs) 240
Fall: 1-0, 2-40, 3-41, 4-84, 5-100, 6-164, 7-208, 8-228, 9-240, 10-240
Bowling: Malinga 9-0-35-3; Lakmal 8-0-49-2 (2w); Mathews 5.4-0-36-1; Herath 10-0-43-0; Perera 6.2-0-33-1 (1w); Dilshan 8-0-35-2 (3w)
Result: Sri Lanka won by 92 runs
Points: Sri Lanka 2, Bangladesh 0
Man of the Match: T M Dilshan (Sri Lanka)
Umpires: Aleem Dar (Pakistan) and P R Reiffel. TV umpire: R A Kettleborough (England). Match referee: J J Crowe (New Zealand)