Angelo Mathews held his nerve with the ball to help Sri Lanka clinch a tense six-run win over West Indies in the third one-day international and sweep the series 3-0 on Sunday.
Mathews claimed four wickets and denied West Indies 13 runs in the last over, restricting the tourists to 301 for nine in their chase of 308 in Pallekele.
Fabian Allen smashed 37 off 15 balls to close in on the West Indies target but fell to Mathews while going for a six in the second ball of the 50th over.
Mathews, who completed his quota of 10 overs after pace spearhead Nuwan Pradeep left the field injured midway into his spell, returned figures of 4-59 with his medium pace.
"Angelo put his hand up in the absence of Pradeep. He used his experience which is what I was expecting," skipper Dimuth Karunaratne said of his 32-year-old veteran allrounder.
"Beating West Indies 3-0 is not easy. We did small things right. Bowlers, batters, fielders put their hands up."
Kusal Mendis top-scored with 55 in Sri Lanka's 307 all out after electing to bat first and then took a crucial catch at deep mid-wicket to send back Allen.
Valiant knocks from Shai Hope (72), Sunil Ambris (60), Nicholas Pooran (50) and skipper Kieron Pollard (49) also kept West Indies in the hunt till the last over.
Earlier West Indies paceman Alzarri Joseph claimed four wickets as Sri Lanka were bowled out in 50 overs.
Avishka Fernando and Karunaratne gave the hosts a brisk start with a 60-run opening stand before the West Indies struck.
Joseph got Fernando caught behind for 29, and spinner Roston Chase caught and bowled Karunaratne for 44.
Kusal Perera, who made 44, and Mendis then rebuilt the innings during their 89-run stand to take the attack to the opposition.
The in-form Mendis, who hit a century in his team's 161-run thrashing of West Indies on Wednesday, completed his 17th ODI fifty before falling to Joseph.
Fast bowler Sheldon Cottrell bowled Mathews for 12, but the rest of the batsmen kept up the charge.
Dhananjaya De Silva, who completed his fifty in just 45 balls with a boundary off Jason Holder, and Thisara Perera put on 64 runs for the sixth wicket.
Joseph broke the stand with the wicket of De Silva and sent Perera back to the pavilion for 38, but the damage had already been done.
"It's always disappointing to lose. We fell short a bit in the field, we could've restricted them to 280-290, but the way the guys went out to chase a 300-plus total, it was brilliant," said Pollard.
"We look forward to playing the T20s. We have a couple of guys come back into the team, guys who've been around the world playing T20 cricket. Hopefully we come out on top."
The two sides will now play two Twenty20 internationals on Wednesday and Friday in Pallekele.