Allrounder Thisara Perera took a hat trick and Kumar Sangakkara scored 97 to guide Sri Lanka to a 44-run win in the fourth one-day international against Pakistan on Saturday, taking an unassailable 2-1 lead in the five-match series.
Chasing a target of 244 to win, Pakistan required 68 runs from 60 deliveries when Perera came on to bowl the 41st over.
He dismissed Younis Khan, Shahid Afridi and Sarfraz Ahmed in successive deliveries for the 32nd hat trick in ODI cricket, and he then produced a run out with a direct hit on the following delivery to restrict Pakistan to 176-8 after being 176-4 earlier in the over.
U Tharanga c Younis b Gul 4
T Dilshan lbw b Hafeez 24
K Sangakkara c Ali b Ajmal 97
D Chandimal b Hafeez 18
M Jayawardene b Tanvir 40
T Perera c Akmal b Ajmal 8
A Mathews not out 10
L Thirimanne run out 13
N Kulasekara b Tanvir 3
L Malinga not out 0
Total (for 8 wickets, 50 overs) 243
Fall of wickets: 1-9 2-64 3-90 4-200 5-204 6-214 7-237 8-243
M Hafeez c Kulasekara b Malinga 0
A Ali not out 81
A Shafiq lbw b Weerakoon 25
M-ul-Haq c Kulasekara b Malinga 57
U Akmal c Sangakkara b Kulasekara 0
Y Khan c Sangakkara b Perera 1
S Afridi c Chandimal b Perera 0
S Ahmed c Jayawardene b Perera 0
S Tanvir run out 0
U Gul c Sangakkara b Mathews 0
S Ajmal c Thirimanne b Perera 12
Total (all out, 45 overs) 199
Fall of wickets: 1-0 2-53 3-166 4-169 5-176 6-176 7-176 8-176 9-179
Perera finished with 4-42 and was named man of the match after Pakistan lost their first match at R. Premadasa Stadium in eight years, having previously won eight with two ending in a no-result due to inclement weather.
A 130-run stand between captain Misbah-ul-Haq and Azhar Ali took Pakistan to 166-2 by the 37th over.
But the Sri Lankans caught and fielded well, an area in which Pakistan made plenty of mistakes, to claim the last eight wickets for 33 runs.
Earlier, Sangakkara's innings on a slow pitch led Sri Lanka to 243-8, missing out on what would have been his first century at home in eight years when Azhar Ali ran from deep mid-wicket and took a diving catch off Saeed Ajmal.
Sangakkara was given out after the on-field umpires referred the decision to the third umpire to rule whether the catch had been taken cleanly.
Sangakkara hit seven fours and three sixes in 130 balls, putting on 110 from 109 deliveries with Mahela Jayawardene, who made 40 off 50 deliveries with four fours.
Sangakkara was slow off the blocks after Sri Lanka elected to bat and was dropped on 35 by Umar Gul at long-on. He needed 99 deliveries to reach his half-century, but was soon striking the ball sweetly.
Sri Lanka opted for the batting power play in the 36th over and the fielding restrictions helped the batsmen to score 49 without losing a wicket.
Gul paid for giving Sangakkara a life, the batsman hooking him for a six before lofting another ball into the stands behind long-on.
The last match in the series is on Monday.