Pakistan produced a fine team effort and passed their target of 225 with 4.4 overs to spare. They had won the second game on Sunday by four wickets after the series opener was abandoned due to rain on Friday.
All-rounder Shahid Afridi set the game up for Pakistan here on Wednesday with his effective leg-spin bowling that took three important wickets and helped dismiss the home side for 224 in 49.4 overs.
That total was overhauled with ease as Mohammad Yousuf slammed 53 after openers Shoaib Malik and Imran Farhat, who scored 46 each, had laid the foundation.
Afridi returned figures of 3-37 as the Sri Lankan batsmen failed to get big scores despite starting well after being put in to bat by Inzamam ul-Haq.
"I am very pleased with the series win because the whole team has done well. Afridi and Abdul Razzaq gave very useful all-round efforts in the series," said Inzamam.
The hosts were 86-1 when Afridi came on to bowl in the 21st over. He struck three quick blows to remove Kumar Sangakkara (22), Kaushal Lokuarachchi (13) and Russel Arnold (zero) to leave Sri Lanka struggling on 133-5 by the 35th.
Opener Chamara Kapugedera top-scored with 50 while Tillakaratne Dilshan (44) and captain Mahela Jayawardene (31) were the other main contributors.
Kapugedera struck seven fours off 74 balls during his maiden half-century in 10 matches, adding 57 for the first wicket with Upul Tharanga (23) and 36 for the second with Sangakkara.
Sri Lanka were boosted by a late flurry from in-form Dilshan, who followed up his 48 not out in the last match with another fighting 46-ball knock in which he hit four boundaries.
Pakistan's reply started vigorously with Malik smashing nine fours off 38 balls and Farhat eight off 52. They added 61 in under nine overs.
Yousuf then took his team close to victory with his 48th half-century before being trapped lbw by seamer Farveez Maharoof.
Razzaq (23) smashed a straight six to finish the match in the company of Kamran Akmal (nine), the pair having remained not out in the last match as well.
"We lost wickets in the middle of our innings and lost the momentum from then on. After starting well, we needed to score at least 250 on this pitch," said Jayawardene.
Jayawardene stood in for regular skipper Marvan Atapattu, who was ruled out because of a back injury, adding to an injury list already comprising Chaminda Vaas, Sanath Jayasuriya and Ruchira Perera.
Pakistan and Sri Lanka will now play a two-Test series. The first Test will be held in Colombo from March 26 and the second in Kandy from April 3.