Mahela Jayawardene became the ninth batsman to pass 10,000 runs in one-day internationals but could not prevent Sri Lanka losing to Pakistan in the third game of the series at the Dubai International Stadium on Friday.
Pakistan won by 21 runs to take a 2-1 lead in the five-match series after compiling 257 for eight and bowling out Sri Lanka for 236 in 48.5 overs.
The 34-year-old Jayawardene, batting at number five, scored 17 as off-spinner Saeed Ajmal and seamer Umar Gul ran through the Sri Lanka card with three wickets apiece.
Earlier, Mohammad Hafeez (83) and Imran Farhat (70) put on 151 for the first wicket before Pakistan were pegged back by paceman Lasith Malinga (2-57) and leg-spinner Seekkuge Prasanna (2-39).
Hafeez and Farhat vindicated skipper Misbah-ul-Haq's decision to bat first and were helped by some sloppy fielding.
Thisara Perera dropped Hafeez on seven off his own bowling and the opener also survived a leg before appeal by Prasanna.
The right-hander grew in confidence and hit Dilhara Fernando for four boundaries in an over, including three in a row, before bringing up his 12th ODI half-century.
Hafeez got another reprieve when Prasanna dropped him at cover off captain Tillakaratne Dilshan but the spinner made amends by clean bowling him in the 30th over.
Farhat notched his 10th ODI half-century before falling to Dilshan as Pakistan slumped to 193 for five.
Sri Lanka wobbled early in their chase when Gul flattened Upul Tharanga's off-stump.
Dilshan (64) and Kumar Sangakkara (45) put Sri Lanka back on track with a 106-run stand for the second wicket before Shahid Afridi (2-42) turned the match on its head.
Afridi beat Sangakkara with a direct throw and then sent down a ball that hit Dilshan's gloves before dislodging the bail to complete a freak dismissal.
Dinesh Chandimal (31) and Angelo Mathews (32 not out) tried to recover the situation but Ajmal (3-42) and Gul (3-48) made sure of victory for Pakistan.
Sharjah hosts the fourth match on Sunday.
Mohammad Hafeez b Prasanna 83
Imran Farhat c Jayawardene b Dilshan 70
Abdul Razzaq c Perera b Prasanna 6
Younus Khan run out 42
Umar Akmal b Malinga 7
Misbah-ul-Haq run out 7
Shahid Afridi c Mathews b Perera 15
Sarfraz Ahmed b Malinga 3
Sohail Tanvir not out 10
Umar Gul not out 0
Extras: (lb-4, w-9, nb-1) 14
Total: (eight wickets; 50 overs) 257
Fall of wickets: 1-151, 2-161, 3-167, 4-177, 5-193, 6-226, 7-234, 8-256.
Did not bat: Saeed Ajmal
Bowling: Malinga 10-0-57-2 (1nb, 1w) Perera 10-1-45-1 (1w), Fernando 10-1-59-0 (3w), Dilshan 8-0-38-1, Prasanna 9-0-39-2, Mendis 3-0-15-0.
U. Tharanga b Umar Gul 4
T. Dilshan b Shahid Afridi 64
K. Sangakkara run out 45
L. Chandimal c sub b Ajmal 31
M. Jayawardene st Ahmed b Ajmal 17
A. Mathews not out 32
L. Malinga lbw b Afridi 0
J. Mendis lbw Hafeez 19
T. Perera b Ajmal 4
S. Prasanna c Afridi b Gul 5
D. Fernando b Gul 0
Extras: (lb-5, w-10) 15
Total: (All out; 48.5 overs) 236
Fall of wickets: 1-5, 2-111, 3-133, 4-168, 5-186, 6-186, 7-218, 8-224, 9-235.
Bowling: Umar Gul 8.5-0-48-3 (4w), Tanvir 9-0-52-0(2w), Razzaq 4-0-18-0, Hafeez 7-0-29-1, Afridi 10-0-42-2, Ajmal 10-0-42-3(4w).
Pakistan lead the five-match series 2-1