Sri Lanka veterans Tillakaratne Dilshan and Kumar Sangakkara smashed imperious centuries to punish a wasteful Bangladesh and set up an emphatic 92-run win in their World Cup clash in Melbourne.

Dilshan blasted 161 and Sangakkara 105 as the evergreen pair combined for an unbeaten 210-run stand to fire Sri Lanka to an imposing 332-1 in front of a boisterous crowd of 30,000 at the Melbourne Cricket Ground.

Appalling in the field, Bangladesh's middle and lower order grafted hard but were set a mission impossible after a top order collapse that saw them slump to 100-5 after 20 overs.

Visit Al Jazeera's 2015 Cricket World Cup page for news, updates, features and comment pieces

Sri Lanka paceman Lasith Malinga captured the final two wickets off consecutive balls as Bangladesh were dismissed for 240 with three overs to spare.

Though master batsman Sangakkara was dropped twice in his aggressive 76-ball knock, 38-year-old Dilshan was virtually flawless as he enjoyed a welcome return to form after scoring 24 and a duck in the team's opening matches against New Zealand and Afghanistan respectively.

He belted 22 fours to all corners of the ground to notch his highest score in ODIs and muttered thanks to the heavens after completing his 21st ton in the format off a streaky inside edge.

He later returned to take 2-35 with his part-time offspin, dismissing all-rounder Shakib Al Hasan for 46 and having Bangladesh captain Mashrafe Mortaza stumped by wicketkeeper Sangakkara for seven to walk away with the man-of-the-match award.

Scorecard:

Sri Lanka 332-1 in 50 overs (Dilshan 161*, Hossain 1-61)

Bangladesh 240 all out in 47 overs (Rahman 53, Malinga 3-35)

Source: Reuters