Pakistan secured a place in the ICC Champions Trophy after defeating Sri Lanka by four wickets in their third and final one-day international on Wednesday to seal a 2-0 series victory.
Their win assured Pakistan -- and also England -- a place in the top six of the ICC rankings at the declared cut-off date of April 1.
Sri Lanka will now have to play in a qualification tournament with West Indies, Bangladesh and Zimbabwe before the eight-team ODI tournament in India in October.
The hosts were unable to defend a modest 225-run target after another below-par performance from their batsmen and lost with 4.4 overs to spare.
Pakistan all-rounder Shoaib Malik blasted a quick 46 from 38 balls as an opener and was supported by fellow opener Imran Farhat, who scored a more sedate 46 from 52 balls.
Mohammad Yousuf's fine form continued as he contributed a solid 53, carrying Pakistan to the verge of victory before being dismissed.
Leg spinning all-rounder Shahid Afridi had starred with the ball earlier in the day, claiming 3-37 from 10 overs as Sri Lanka lost their way after a solid start, collapsing from a promising 93-1 to 156-6.
Afridi, who bowls a unique brand of waspish leg breaks, snared the wickets of Kumar Sangakkara (22), Kashal Lokuarchchi (13) and Russel Arnold (nought) during a match-turning mid-innings spell.
"The boys have done really well and worked very hard in conditions they are not used to," skipper Inzamam-ul-Haq told reporters.
"Shahid Afridi is a key player for us in ODIs and today he did an excellent job with the ball as did Mohammad Yousuf who has been batting really well."
Sri Lanka, who were put into bat in the morning, had started their innings well with Upul Tharanga (23) and Chamara Kapugedera (50) sharing a 57-run opening stand.
Medium pacer Abdul Razzaq made the first breakthrough when Tharanga slashed at a wide delivery but 18-year-old Kapugedera, a makeshift opener because of an injury crisis in the Sri Lanka camp, impressed with a maiden ODI fifty.
Kapugedera was one of two top order batsmen run out by Younis Khan when he was sent back late by Sangakkara having tried to pinch a quick single.
Khan also dismissed Sri Lanka captain Mahela Jayawardene, who had been anchoring the middle order with 31 from 56 balls, with a direct hit from cover.
Jayawardene's departure left Sri Lanka in deep trouble on 156-6 but Tillakaratne Dilshan lifted the hosts past the 200-mark with an enterprising 44 from 46 balls.
Dilshan added 37 with Farveez Maharoof (19) and other 23 with Dhammika Prasad before being bowled in the penultimate over while attempting an ambitious reverse sweep.
The Sinhalese Sports Club pitch, dried under a hot sun, eased during the second session and Malik gave Pakistan a flying start, hitting nine boundaries before driving a catch to cover.
Sri Lanka's prize off spinner provided the greatest threat with the ball, taking the wickets of Malik, Younis Khan (25) and Inzamam ul Haq (13), but was uncharacteristically expensive as he finished with 3-58.
"We wasted a really good start and lost momentum during the middle part of our innings," said Sri Lanka skipper Mahela Jayawardene. "The pitch was much better than the first two games and we needed to post a total in excess of 250."
"The fielding has been a positive in this series and the bowlers have showed a lot of heart but the batsmen have not put the runs on the board."
After the first match of the series was abandoned due to heavy rain, Pakistan edged a low-scoring contest on Sunday to take a 1-0 lead.
Sri Lanka Innings
U. Tharanga c Akmal b Razzaq 23
C. Kapugedera run out 50
K. Sangakkara c Akmal b Afridi 22
M. Jayawardene run out 31
K. Lokuarachchi c Yousuf b Afridi 13
R. Arnold st Akmal b Afridi 0
T. Dilshan b Malik 44
F. Maharoof c Farhat b Asif 19
D. Prasad b Naved-ul-Hasan 8
M. Muralitharan c Anjum b Naved-ul-Hasan 2
L. Malinga not out 0
Extras (b-2 lb-5 nb-1 w-4) 12
Total (all out, 49.4 overs) 224
Fall of wickets: 1-57 2-93 3-105 4-131 5-133 6-156 7-193 8-216 9-224 10-224
Naved-ul-Hasan 7.4 - 0 - 40 - 2 (nb-1 w-1)
M. Asif 10 - 0 - 48 - 1 (w-2)
I. Anjum 9 - 0 - 40 - 0
A. Razzaq 10 - 1 - 35 - 1
S. Afridi 10 - 0 - 37 - 3 (w-1)
S. Malik 3 - 0 - 17 - 1
S. Malik c Kapugedera b Muralitharan 46
I. Farhat st Sangakkara b Dilshan 46
Y. Khan st Sangakkara b Muralitharan 25
M. Yousuf lbw b Maharoof 53
Inzamam-ul-Haq b Muralitharan 12
A. Razzaq not out 23
S. Afridi c Muralitharan b Lokuarachchi 1
K. Akmal not out 9
Extras (b-4 nb-1 w-9) 14
Total (for 6 wickets, 45.2 overs) 229
Fall of wickets: 1-61 2-117 3-137 4-177 5-207 6-210
Did not bat: Naved-ul-Hasan, I. Anjum, M. Asif
L. Malinga 7 - 0 - 34 - 0 (w-3)
F. Maharoof 7.2 - 1 - 33 - 1 (nb-1)
D. Prasad 5 - 1 - 33 - 0 (w-1)
M. Muralitharan 10 - 0 - 58 - 3 (w-1)
K. Lokuarachchi 10 - 1 - 47 - 1
T. Dilshan 6 - 0 - 20 - 1