Rangana Herath has grabbed Zimbabwe's final three wickets to return 8-63 as Sri Lanka wasted little time in finishing off the hosts on the final morning of the second Test at the Harare Sports Club.
The home side, teetering on 7-180 overnight, survived 13 overs on Thursday before being bowled out for 233 as Sri Lanka won by 257 runs to compete a sweep of the two-match series.
Herath, standing in as captain for the injury-hit Sri Lankan side, finished with 13 wickets in the match as he fully exploited a turning surface to dominate the Test with his spin.
Craig Ervine, the only home player to provide any significant resistance, was first out on Thursday, adding seven runs to his overnight 65 before a sharp catch from Dhananjaya de Silva at slip gave Herath his first wicket of the morning.
Carl Mumba departed for one run soon after and Chris Mpofu was the last wicket to fall, trapped lbw for a quick-fire 20.
Sri Lanka's victory proved a lot easier than their success in last week's first Test, when they almost ran out of overs before dismissing Zimbabwe to win by 225 runs.
While Sri Lanka wrapped up another series, struggling Zimbabwe hasn't won a Test since 2013.
The Zimbabweans conceded more than 500 runs in the first innings in both Tests against Sri Lanka, and made 300 just once in their four innings.
The two sides will next be joined by the West Indies for a triangular one-day international series in Zimbabwe, which starts in Harare on Monday.