Spinner Rangana Herath thrived as Sri Lanka's stand-in captain, taking 8-63 to seal a 257-run win over Zimbabwe in the second Test on Thursday and a 2-0 series sweep.

Spinner Rangana Herath thrived as Sri Lanka's stand-in captain, taking 8-63 to seal a 257-run win over Zimbabwe in the second Test on Thursday and a 2-0 series sweep.

Herath finished with 13 wickets in the match after replacing injured regular skipper Angelo Mathews as the Sri Lankan captain for this tour.

Sri Lanka players walk off the pitch after winning the match against Zimbabwe. AP

Continuing on 180-7 and still needing 311 runs to win, Zimbabwe didn't last long on the final day of the series — just 13 overs and less than an hour — with Herath taking all three final wickets.

Herath had Craig Ervine caught at slip for 72 trying a reverse sweep to get rid of the home team's last established batsman. Zimbabwe was all out for 233 in its second innings at Harare Sports Club and Sri Lanka made it five straight Test victories after a 3-0 whitewash of Australia at home in August.

Sri Lanka's next Test assignment is a three-match series in South Africa at the end of the year.

Herath finished with 19 wickets in the series against Zimbabwe as Sri Lanka forged on in the absence of Mathews and vice captain Dinesh Chandimal through injury.

The 38 year-old Herath's top-quality bowling performance in the final test was backed up by first-inning centuries from Dhananjaya de Silva and Asela Gunaratne, with Gunaratne playing in his debut series.

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.

West Indies join Zimbabwe and Sri Lanka for a triangular one-day international series starting next week.