Pakistan took a 2-1 lead in the five-match one-day series in the United Arab Emirates with a 113-run victory over Sri Lanka in Sharjah.
An unbeaten 140 from Mohammad Hafeez guided Pakistan to a big total of 326-5 in their 50 overs.
Sri Lanka, which levelled the series with a two-wicket win on Friday in Dubai, could only manage 213 in their reply.
Hafeez's innings featured 11 boundaries and three sixes. It came off 136 balls and was the second century of the series after he made 122 in the opening game of the series in Sharjah.
He shared a 160-run partnership with Ahmed Shehzad, the opener following up his 124 some 48 hours before with an 89-ball 81.
Captain Misbah-ul-Haq, with 40 off 26 balls, and Umar Akmal, who made 23 off 12 balls, hit four sixes to support Hafeez in a late-innings flurry.
Umar Gul took two wickets in the fourth over of Sri Lanka's innings to undermine their reply, and Junaid Khan picked up the key wicket of Kumar Sangakkara with just 44 on the board.
Tillakaratne Dilshan gave his side hope as he brought up his half-century off 55 balls, but the veteran opener departed for 59 when he tried to slog Shahid Afridi through the leg-side only to see his off-stump pegged back.
At halfway, the required run rate was in excess of eight per over, and despite contributions from Dinesh Chandimal (36) and captain Angelo Mathews (44), Sri Lanka steadily lost wickets and were dismissed in the 45th over.
Mathews expressed his disappointment in the presentation ceremony, as reported by Cricinfo.
It was a disappointing performance all round to be honest. If you are chasing 320, you need to get a good start and give the middle order players a chance, that didn't happen. We need to win next game to stay alive in the series so we'll come out firing.
The fourth match of the series takes place on Christmas Day.