The hosts made a brave bid to chase down a target of 270, reaching 132-2 by tea on the fifth day, before they were pegged back by a three-wicket burst from off-spinner Saeed Ajmal.
Dinesh Chandimal scored 65 and the prolific Kumar Sangakkara returned unbeaten on 74 as Sri Lanka made 195-4 before the game was called off with nine overs remaining at the Pallekele International Stadium.
The 1-0 scoreline -- following a 209-run victory in the first Test in Galle -- was Sri Lanka's first Test series win since beating New Zealand 2-0 at home in 2009.
The rain-hit second Test in Colombo was drawn, while the entire second day's play in Pallekele had been washed out.
"A lot of hard work has gone into this series win," said Sri Lankan captain Mahela Jayawardene. "It's not that we did not play good cricket earlier, but somehow the results did not show that.
"So it was important to win against a quality side like Pakistan. It will make the youngsters more confident about their game, but we need to keep improving as a unit."
Jayawardene defended his decision to give up the chase after the fall of the fourth wicket, saying it was not worth risking the 1-0 lead they had in the series.
"The mindset was to win, but it was only in the last hour-and-a-half that we decided to close shop," he said. "We did not want to take too many risks since we were 1-0 up in the series."
Pakistan captain Misbah-ul Haq said he was surprised when Sri Lanka abandoned the chase, but conceded that getting 270 runs in 71 overs would not have been easy.
"I thought we were safe when we gave them a big target, but they started really well and it got us worried a bit," he said. "But I was surprised when they gave up in the end."
Misbah said the 1-0 loss was not a fair result since his team could have won both the last two Tests, but preferred to dwell on the positives.
"A loss is a loss, but we were unlucky not to win a game," he said. "I am happy with the way the team bounced back after the loss in Galle.
"We have real good talent in the side like (Asad) Shafiq, Azhar (Ali) and Junaid Khan. But if there is an area we need to improve, it is our fielding and catching."
Shafiq remained unbeaten on 100 as Pakistan declared their second innings at 380-8 half-an-hour before lunch to attempt a series-levelling win.
But the tourists were thwarted by a pitch that eased out under the hot sun and a determined effort by the home team's batsmen in front of some 1,000 spectators.
Openers Tharanga Paranavitana and Chandimal gave Sri Lanka a bright start with a 44-run partnership by the 10th over.
Chandimal, a last-minute inclusion for the match after Tillakaratne Dilshan opted out due to health worries in his family, anchored the innings at the start.
The 22-year-old's third half-century in four Tests contained fluent strokes on both sides of the wickets, including eight boundaries.
Sangakkara, who made an unbeaten 199 in the first Test and 192 in the second, was named the player of the series.
Shafiq was adjudged the man of the match for his top-score of 75 in the first innings and an unbeaten century in the second.