Umar Gul (3-48) bowled well in the final overs to make sure good work by spinners Saeed Ajmal (3-42) and Shahid Afridi (2-42) do not go waste as they dismissed Sri Lanka for 236 in the penultimate over at Dubai stadium.
Captain Tillakaratne Dilshan topscored with 64 but it was Angelo Mathews whose aggressive 40-ball 32 kept Sri Lanka in the hunt before Gul took the last two wickets in a thrilling finish.
Sri Lanka were in a tight corner at 186-6 in the 41st over before Mathews and Jeevan Mendis (19) added 32 for the seventh wicket in quick time to threaten Pakistan but in the end Pakistan carried the day.
Pakistan won the first match by eight wickets last Friday while Sri Lanka levelled the series with a 25-run win in the second match on Monday -- both played in Dubai.
The remaining matches will be played in Sharjah (November 20) and Abu Dhabi (November 23). Both teams also play a Twenty20 international in Abu Dhabi on November 25.
Sri Lanka were set on course for a win by Dilshan who added 106 runs for the second wicket with Kumar Sangakkara (45) after they lost opener Upul Tharanga (four) in paceman Umar Gul's first over.
Sangakkara, who survived a run out with the total at 89-1, finally failed to beat a direct throw from Shahid Afridi from mid-on after he set off for a quick single.
He hit three boundaries during his 66-ball knock.
Pakistani spinners Afridi and Ajmal then put the brakes on Sri Lankan innings, as Dilshan dragged a leg-break from Afridi onto his stumps after hitting eight boundaries in his 78-ball knock.
Jayawrdene completed his 10,000 runs during his brief knock of 17, becoming the ninth batsman and second Sri Lankan to achieve the landmark.
Earlier, openers Mohammad Hafeez and Imran Farhat hit attractive half-centuries to help Pakistan post a challenging total.
Hafeez made a 101-ball 83 and Farhat notched an 82-ball 70 to give Pakistan, who won the toss and batted, a solid 151-run start before Sri Lanka grabbed four quick wickets in the space of 26 runs.
Hafeez, who took 26 balls for his first ten runs, hit paceman Dilhara Fernando for four boundaries in the 18th over to step up the tempo before he was finally bowled by spinner Seekkuge Prasanna in the 30th over.
Hafeez hit nine boundaries and a six during his 11th one-day half century.
Ten runs later Farhat followed, caught at long-on off Tillakaratne Dilshan. He hit six boundaries and a six.