Chasing 254 runs for victory, a traumatised Pakistan rose to the occasion and pulled off a stunning victory scoring 255 for six in 48.1 overs.
Man of the Match Abdul Razzaq, who had earlier ripped through the Sri Lankan innings, came to his side's rescue with the bat also as he slammed an unbeaten 24-ball 38 to see his team through.
Pakistan were almost undone by the run-out of Mohammad Yousuf at a critical time in their innings and the fall of wicket-keeper batsman Kamran Akmal with 53 runs needed for victory. It was thereafter left for Shoaib Malik (46, 59balls,1x4,1x6) and Razzaq to display nerves of steel to steer their side home with an unbroken seventh-wicket partnership of 51 runs.
This was always going to be a battle of nerves after Pakistan had done well to restrict the Lankans to 253 in 49.2 overs, but there were two additional factors -- the pressure of the dope-enforced withdrawal of Shoaib Akhtar and Mohammad Asif, and the dew, which returned after a long absence on the night. In the end, it was probably a combination of all three factors that determined the result.
Yousuf had taken Pakistan to 161 for four with a little more than 15 overs to go when in trying to steal a third run off Sanath Jayasuriya, Shoaib Malik sent him back at the last moment and Yousuf failed to beat the throw.
Pakistan earlier began brightly with Imran Farhat and Mohammad Hafeez blazing their way to 39 in the fifth over when the latter fell. Skipper Younis Khan and Shahid Afridi followed in short order and just as Yousuf and Malik looked to be cementing Pakistans position with a 47-run fifth wicket stand.
Earlier, Razzaq helped Pakistan shrug off doping blues, claiming four wickets as Sri Lanka were all out for 253 in 49.2 overs.
Mahela Jayawardene won the toss and expectedly opted to bat on a pitch which had no devil in it and Pakistan bowling department looked depleted in the absence of Shoaib and Asif who had disgraced themselves after being tested positive for drugs and had to go back home.
Sri Lanka, with a formidable batting line up, were expected to thrash the Pakistan bowling and the way they started it looked they were going to put up a huge total.
However, the Pakistanis displayed their traditional fighting qualities and Razzaq led the charge to keep the Islanders underleash.
Pakistan skipper Younis Khan handled his bowlers intelligently and used as many as seven bowlers with only Shahid Afridi completing his 10-over quota. Besides Razzaqs four for 50 haul in 7.2 overs, Shoaib Malik scalped two wickets while Afridi, Rao Iftikhar and Mohd Hafeez chipped in with one wicket each. In-form Upal Tharanga and veteran Sanath Jayasuriya, the latter playing his 368th ODI, gave Sri Lanka a blistering start as they put on 63 runs off 9.1 overs.
Jayasuriya, who equalled Sachin Tandulkars record of playing the highest numbers of ODIs, looked in a dangerous form as he blasted Naved-ul Hassan for 17 runs in one over (4,6,4,3) and then slammed Rao Iftikhar for 10 runs, hitting him for a straight six and then for a boundary.
Jayasuriya survived a chance when he was on 48 as he was dropped by Shahid Afridi off Umar Gul. However, the seasoned opener could not capitalise on the chance as in the next over he was clean bowled by Rao Iftikhar, who rattled his off stump with a superb delivery.
The batsman contributed 48 which included two huge six and five fours. He faced only 25 balls.
Tharanga and Mahela Jayawardane, the latter playing his 225th match, kept the scoreboard moving and soon the skipper became the fifth Sri Lankan batsman -- after Jayasuriya, Marvan Attapatu, Arvinda De Silva and Arjuna Ranatunga -- to score 6000 ODI runs.
The two accelerated the run rate and looked set for a big stand before Tharanga lost his cool. He smashed Razzaq for two boundaries and trying for the third, he edged an outgoing ball and wicketkeeper Kamaran Akmal took a fine catch.
The second wicket partnership was worth 45 runs which came off 8.3 overs and the openers contribution was 38 (48balls,6x4) and Sri Lanka were 108 for two in 17.4 overs.
The departure of Tharanga saw run rate slowing down with Jayawardane and his deputy Kumar Sangakkara going into defensive mode. The two took the scotre to 141 but at this stage Shoaib Malik struck.
The Sri Lankan skipper attempted a sweep only to to edge and Imran Farhat took a fine catch in the slips. Jayawardane was involved in a 33-run third wicket stand and his own contribution being 31 (41balls, 3x4).
Sangakkara, after scoring 39 (47 balls,5x4) and putting up 40 runs for the fourth wicket with Attapatu, departed at the score of 181 and after that Sri Lanka inning disintegrated and the remaining six wickets added only 72 runs in 16.4 overs with Attapatu chipping in valuable 36 runs(53balls,1x4) before being run out.