Sri Lanka claimed nine West Indies wickets on the final day to seal victory in the first Test in Guyana.
Set an unlikely victory target of 437 at Providence Stadium, the Windies were dismissed for 315 in their second innings, Chaminda Vaas finished with figures of 5-61.
Opener Dwayne Bravo’s 83 had given the hosts hope of pulling off a dramatic run-chase as they reached lunch on 170 for two, but an impressive afternoon session helped the tourists to a 121-run triumph.
Vaas removed Marlon Samuels and Shivnarine Chanderpaul in quick succession after the interval to put the tourists well on their way to claiming their first Test win in the Caribbean.
Samuels edged Vaas to wicketkeeper Kumar Sangakkara for 10 and Chanderpaul was bowled off an inside edge for three as the Windies slipped to 178 for four.
Sri Lanka captain Mahela Jayawardene paid tribute to the performance of his two senior bowlers, Vaas and Muttiah Muralitharan.
He said: “It is always good to throw the ball to these guys. These two have been warriors for us.”
Bravo and Ramnaresh Sarwan, who made 72, had earlier allowed the hosts to dream of a shock victory.

Shivnarine Chanderpaul is bowled by seamer Vaas Buy this photoBravo struck 10 fours and a six in his impressive innings before he fell caught and bowled to Muralitharan before lunch.
Sarwan - back in the Windies line-up after a 10-month absence - continued to look in fine form as he followed up his first-innings 80 with another half-century before he fell lbw, playing back to Thilina Mirando.
Ryan Hinds edged Muralitharan behind for 10 from the final ball before tea to leave the Windies on 229 for six.
The hosts had resumed on 96 for one at the start of the day and lost only one wicket, that of Bravo, in the morning session.
Fellow opener Devon Smith (10) had perished on Tuesday evening when Thilan Thushara took a brilliant catch at long leg off the bowling of Vaas.
The four wickets in the afternoon session, though, left the Windies hanging on for a draw.
Captain Chris Gayle frustrated the Sri Lankan attack with a stubborn 51 not, but received little support from his partners at the other end.
Denesh Ramdin edged Mirando to Jayawardene at first slip for one, while Sulieman Benn also went cheaply, lbw playing forward to Muralitharan for seven.
And it was the veteran Vaas who cleaned up the final two wickets as Gayle threatened to lead the hosts to a hard-fought draw.
First he removed Jerome Taylor, who edged to Tillakaratne Dilshan at second slip, and then Daren Powell, brilliantly caught at mid-off by Muralitharan for 14.
Jayawardene praised the team’s display, especially from their less experienced faces, after claiming victory at the death.
He added: “There is a lot of pride in wearing the cap these days. When the opportunity comes their way they want to grab it with both hands and show they are capable of performing at this level.
“We have a good squad of 20 guys who we can pick at any time.”
Sri Lanka's Chaminda Vaas during his spell of 5-61