Rangana Hearth completed his 100 wickets against Pakistan when he sent six Pakistani batsmen back to the pavilion, clinching the first Test in Abu Dhabi for Sri Lanka.
Sri Lanka won the match by 21 runs, a strong comeback after being whitewashed at home by India. Pakistan were all out for 114.
Hearth — who took 11 wickets in the match — also completed 400 Test wickets. He became the first left-arm spinner to achieve the feat and was announced as the man of the match.
Pakistan batsmen struggled against spin, with Herath and Perera bagging nine wickets in the inning.
Debutant Haris Sohail tried to put up resistance but was outclassed by Dilruwan Perera for 34.
Former skipper Azhar Ali fell for a duck while openers Sami Aslam and Shan Masood were only able to score two and seven runs each, chasing the 136-run target set by Sri Lanka.
Earlier, Yasir Shah took another five-wicket haul to help Pakistan wrap Sri Lankan inning for 138.
After Abbas (2-22) and Yasir (5-51) took early wickets, Dickwella and Sandakan put up some resistance to give Sri Lankan bowlers something to fight for.
However, Sandakan and Nuwan Pradeep falling in succession meant that the side had been wrapped up before lunch, setting Pakistan a 136-run target on the slow, spinning track.
The match was moving towards a draw when Pakistan ended their first inning with a lead of only three runs, thanks to to Haris Sohail's late 50 with the tail.
However, spinners took four wickets for 69 by day four's play to get Sri Lanka in under pressure.
Sri Lanka had made 419 in their first inning after winning the toss, with skipper Chandimal starring with an unbeaten 155.