The resistance on the final day was admirable, highlighted by doggedness and determination but the Windies seemed to be victims of two questionable calls from International Cricket Council elite umpires Simon Taufel and Billy Bowden.
There is no doubt that West Indies' defeat had something to do with what appeared to be umpiring errors against Sarwan and Ryan Hinds within the space of half-hour.
Sarwan was adjudged lbw by Billy Bowden from a ball by left-armer Thilan Thushra that was delivered very wide of the stumps from around the wicket and appearing to be heading down the leg-side.
Half-hour later, and on the stroke of tea, Simon Taufel gave Hinds out for a catch by the 'keeper when the left-hander seemed to miss an attempted sweep to a ball well wide of leg stump.
Dwayne Bravo, pitched-forked into opening the batting in a Test for the first time, extended his fourth evening adventure on the fifth morning and was moving towards a third hundred at this level when he was outfoxed by Muttiah Muralitahan 20 minutes before lunch.
Bravo's dismissal for 83 was the only wicket in the pre-lunch session, prompting West Indians into believing they could save the match and even possibly win it from a position of 170 for two.
Ramnaresh Sarwan was a model of concentration for more than four-and-a-half hours, pushing and prodding with good effect to keep Sri Lanka at bay with a plucky 72.
Chris Gayle, batting out of position and out of character, advertised another side of his game with a responsible approach for more than three hours in compiling an unbeaten 51 at No. 6.
At 244 for eight with 25.3 overs remaining, Sri Lanka's victory was around the corner, but Jerome Taylor hung in for an hour before gloving a catch to second slip off match-winner Vass.
Those were the West Indian highlights on an absorbing last day.
The lows included Gayle's baffling decision at the end to avoid Vaas at the non-striker's end and to expose No. 11 Daren Powell to a world-class bowler who had already picked up four wickets in the innings.
At the start of a new over from Vaas, Powell hit a ball wide of mid-on and a comfortable single was there for the taking. he batsmen refused and to the next ball, Powell fell, magnificantly cught by Muralitahan when trying to lift the bowler over mid-off.
SCOREBOARDS:
Sri Lanka 1st Innings 476-8 declared
West Indies 1st Innings 280
Sri Lanka 2nd Innings 240-7 declared
West Indies 2nd Innings
(Overnight 96-1)
D. Smith c Thushara b Vaas 10
D. Bravo c and b Muralitharan 83
R. Sarwan lbw b Thushara 72
M. Samuels c Sangakkara b Vaas 10
S. Chanderpaul b Vaas 3
C. Gayle not out 51
R. Hinds c Sangakkara b Muralitharan 10
D. Ramdin c MJayawardene b Thushara 1
S. Benn lbw b Muralitharan 7
J. Taylor c Dilshan b Vaas 12
D. Powell c Muralitharan b Vaas 14
Extras: (25b, 3lb, 14nb) 42
TOTAL: (all out) 315
Overs: 106.2.
Fall of wickets: 1-22, 2-156, 3-171, 4-178, 5-212, 6-229, 7-231, 8-244, 9-291, 10-315.
Bowling: Vaas 22.2-7-61-5, Thushara 17-2-70-2 (12nb), Herath 22-7-44-0 (1nb), Muralitharan 45-6-112-3.
Result: Sri Lanka won by 121 runs (leads 2-match series 1-0).
Umpires: Simon Taufel, Australia, and Billy Bowden, New Zealand.
Third umpire: Clyde Duncan, Guyana. Match referee: Chris Broad, England.