Mohammad Hafeez's highest one-day score helped Pakistan take a 2-1 lead in their one-day international series with Sri Lanka.
- Related Content
Hafeez posted an unbeaten 140 at better than a run a ball as part of a total of 326 for five which Sri Lanka got nowhere near and lost by 113 runs.
Tillakaratne Dilshan offered some resistance with 59 but with that being their highest score, Sri Lanka were never in a position to challenge and they were bowled out with 32 balls to spare.
Sri Lanka had made a steady start to their chase by reaching 17 without loss, but a shocking fourth over would leave them reeling and two down.
Kusal Perera was the first to go, with a drive off Umar Gul going wrong and finding Ahmed Shehzad at backward point.
Then, four balls later, Gul did it again, getting an edge out off Dimuth Karunaratne which was safely taken behind.
Sri Lanka at least knew they had Kumar Sangakkara in place, but not for much longer. With the last ball of the ninth over he found Sohaib Maqsood at mid-wicket, misjudging one from Junaid Khan. He departed for 14.
Dilshan made sure the flow of wickets was stemmed, though, and set about making a tidy half-century that was brought up in 55 balls.
It appeared as though he was set for a big score at that stage but he was gone not long after, with Shahid Afridi sneaking one under his bat and onto the stumps, sending him on his way for 59.
Dinesh Chandimal was the fifth to go, misreading the pitch of the ball from Hafeez and skewing one to mid-wicket when on 36.
Nuwan Kulasekara followed, edging Saeed Ajmal behind for what was the spinner's 102nd international scalp of the year, a Pakistan record.
Hafeez then conceded 10 off two balls to Seekkuge Prasana but got his man when he snared him into finding Ajmal's hands on the boundary.
It was just a matter of wrapping things up after that - even if Angelo Mathews did try and prolong things, most notably as he clubbed Hafeez for two sixes in an over.
Junaid Khan temped Thisara Perera to take on the big shot that eventually found Afridi's hands and then Ajmal got rid of Mathews (44) who produced a similarly reckless slog.
That left one man to get and Lasith Malinga was it, being cleaned up by Gul after an entertaining 19 which also saw him dropped.
Earlier, Hafeez had stolen the show with a 136-ball vigil which included 11 fours and three maximums.
He was given ample support by Shehzad who made 81 before he was run out, with the pair putting on a decisive second-wicket stand of 160, which was needed after opener Sharjeel Khan went for just two.
Misbah-ul-Haq chipped in with a breezy 40 and Umar Akmal slapped 23 late runs, with Thisara Perera (two for 58) Sri Lanka's best bowler.