Underterred by rain and bad light, Sri Lanka posted a humungous 508-run target in front of Pakistan and later skittled them out for a lowly 261 with a session to spare in the second innings on Day 5 of the second Test at the Galle International Stadium on Thursday.
Prabath Jayasuriya (5/117) returned with the match-winning five-wicket haul and eight wicket in the match to be adjudged player of the series.
He was backed by off-spinner Ramesh Mendis, who took four wickets in the second innings.
Resuming play at 89-1, Pakistan lost opening batter Imam-ul-Haq in the third over of the morning but a 79-run stand between captain Babar Azam and Mohammad Rizwan gave hope of a draw that would secure a 1-0 series victory.
However, a moment of indiscretion saw Rizwan leaving a straight ball from Jayasuriya and he was bowled for 37. A collapse from the visitors' middle order soon followed as they went from 176/2 to 188/5 by lunch.
Babar was Sri Lanka's biggest challenge, and Pakistan's only remaining hope, but he was dismissed leg before wicket by a straight ball from Jayasuriya for 81.
The last five Pakistani wickets fell for 56 runs.
Dhananjaya de Silva was leading Sri Lanka in the absence of skipper Dimuth Karunaratne, who was out with back spasms. De Silva scored a century in Sri Lanka's second innings and was named Man of the Match.
The series is being played against the backdrop of Sri Lanka's worst economic crisis since independence. There is a severe shortage of fuel, medicine and cooking gas and economic experts have warned of a pending food crisis.