Tillakaratne Dilshan and Kumar Sangakkara scored hundreds as Sri Lanka beat Bangladesh by 92 runs in their World Cup Pool A clash in Melbourne. Dilshan (161 not out) and Sangakkara (105 not out) shared a partnership of 210 as Sri Lanka made the most of some poor fielding to post 332-1. It was Dilshan's 21st ODI ton and Sangakkara's 22nd, in his 400th match. Bangladesh were dismissed for 240 in 47 overs, Sabbir Rahman top-scoring with 53 and Lasith Malinga taking 3-35. Sri Lanka have two wins and one defeat from three matches, while Bangladesh have one win, one defeat and one no result. Bangladesh were dreadful in the field, reprieving Sri Lanka opening batsman Lahiru Thirimanne three times before he was finally dismissed for a charmed 52. The Tigers' wicketkeeper Mushfiqur Rahim was particularly culpable, missing a stumping chance to dismiss Thirimanne and a run-out chance when Dilshan was well short of his ground in the 43rd over. Sangakkara was dropped twice on his way to his hundred, which came from only 73 balls. Dilshan's 161, which came from 146 balls, was his highest score in ODIs. In reply, Bangladesh lost opener Tamim Iqbal from the second ball of the innings when he was bowled by seamer Malinga. Shakib Al Hasan gave his team faint hope but after he was dismissed for an entertaining 46, Bangladesh's challenge petered out. Sabbir's maiden ODI fifty came from 60 balls but Malinga did for him and Taskin in successive balls to wrap up the Bangladesh innings. Sri Lanka's next match is against England in Auckland on Saturday, while Bangladesh face Scotland in Nelson on Wednesday.