Tillakaratne Dilshan led from the front with an unbeaten century as Sri Lanka lifted the ODI cricket tri-series title, halting Zimbabwe's fairytale run in a lop-sided final at Harare on Wednesday.
Dilshan struck an unbeaten 108 off 102 balls and featured in an 160-run opening stand with Upul Tharanga (72) to script a facile nine-wicket victory that also avenged Sri Lanka's eight-wicket defeat against the hosts on Monday.
Put into bat, Zimbabwe had earlier managed a below-par 199, courtesy Tatenda Taibu's defiant 71, before they collapsed in 49 overs at the Harare Sports Club.
The Lankans completed the modest chase with minimum fuss, cruising to 203 for one to complete a comprehensive win with 15.2 overs to spare.
Their chase got off to a flier with Dilshan wasting precious little time in imposing himself. He made his intention clear when he sent the the first ball he faced, from Chris Mpofu, for a four and the otherwise disciplined Zimbabwean attack failed to stem the regular flow of boundaries from Dilshan's blade.
Tharanga also helped himself to the occasional boundaries before hitting Prosper Utseya over his head for a six. He eventually ran himself out in the 26th over but by then, Sri Lanka had the match in the bag.
Earlier, Taibu's spirited 71-run knock guided Zimbabwe to 199 before the hosts folded up.
Taibu top-scored with a 93-ball knock in an otherwise ordinary performance by the African minnows, who came into the match after stunning wins over India and Sri Lanka in the round-robin stage.
The Zimbabweans started slowly and the pace of their scoring didn't pick up through the innings.
The giant-killers, who beat India twice in the tournament, received an early blow when in-form opener Hamilton Masakadza departed in the fifth over after playing out 23 deliveries for a mere four runs.
Dilhara Fernando then dealt a body blow by removing Zimbabwe's batting mainstay Brendan Taylor (19) in the 10th over, leaving the home team at a precarious 29 for two.
Taibu rebuilt the innings but he just didn't get enough support at the other end. The diminutive wicketkeeper-batsman struck four boundaries and ran hard between the wickets but did not get enough support from the other end.
He was eventually dismissed by Dilhara (3 for 36), who was the pick of the Lankan bowlers.
Charles Coventry provided some late fireworks with his 12-ball 18 but the Zimbabwean innings had been so sluggish that the slight acceleration did not add up to much.
Wednesday's match was South African umpire Rudi Koertzen's last one day internationals.