The visitors were bowled out for 227 in the second innings, just an hour and 15 minutes after lunch on the fourth day of a Test which saw Herath wreak havoc throughout.
He finished with second innings figures of four for 79, after taking six for 68 in the first innings, in which the tourists were all out for 251 and forced to follow on after Sri Lanka amassed 484 in their first innings.
After starting the day on 67 for two, the West Indies never managed to build up enough momentum to challenge the hosts, as Jermaine Blackwood, the last man out for 92, provided the lone resistance on a day of abject surrender by the West Indies batsmen.
His innings included 10 fours and three sixes.
Shortly after the start of the day's play, nightwatchman Devendra Bishoo was caught by captain Angelo Mathews off the bowling of Herath with the score at just 74.
Though the spinner missed out on a hat trick, Sri Lanka kept the West Indies in trouble with Darren Bravo (31) falling to a peach of a swinger by Nuwan Pradeep that edged back to wicketkeeper Kusal Janith Perera.
Denesh Ramdin was next to fall, caught at slip off the bowling of Milinda Siriwardana.
The West Indies were looking forlorn at lunch at 156-6 needing a further 77 to avoid an innings defeat.
Captain Jason Holder was the first to go after the break. He tried to charge Herath down the wicket, but the edge flew to Mathews who quickly struck the stumps before Holder could regain his ground.
Blackwood and Shannon Gabriel added 38 for the last wicket, briefly raising the spectre of forcing Sri Lanka to bat again, but Blackwood was eventually caught off Prasad's bowling just eight runs short of a century.
