Hafeez, 33, was the rock around which Pakistan put up on imposing 326 or 5, before helping bowl Sri Lanka out for 213 in 44.4 overs at the Sharjah Cricket Stadium. The win gave Pakistan a 2-1 lead in the five-match series.
Hafeez, who hit 122 in the opening game in Sharjah last week, laid the foundation for Pakistan’s innings with Ahmed Shehzad, the opener, in a crucial second-wicket stand. Shehzad, who had hit a century in the second ODI, made 81 and shared in a 160-run stand with Hafeez after Sharjeel Khan had fallen in the third over. Shehzad was run out in the 31st over to leave Pakistan 162 for 2, but Hafeez kept one end intact.
Hafeez was dropped by Lasith Malinga off Seekkugge Prasanna’s legspin when on 26, and he took full advantage of his good fortune, hitting 11 boundaries and three sixes in an entertaining knock. He raised his century off 119 deliveries before adding a quick 75 for the fourth wicket with Misbah-ul-Haq, the captain, who contributed a rapid 26-ball 40. When that stand ended, Pakistan was 275 for 4 in the 46th over, and had gained the impetus to finish strongly.
Pakistan scored 105 in the last ten overs with Misbah also in top form. Umar Akmal’s late fireworks in an unbeaten 12-ball 23 ensured Pakistan was well clear of the 300-run mark.
Pakistan’s bowling was led by the returning Umar Gul, playing his first match since March this year after a knee operation. Gul took 3 for 19 and gave Pakistan a good start with the wickets of Kusal Perera and Dimuth Karunaratne in his first spell of five overs, before finishing off the innings by castling Malinga.
The early wickets had reduced Sri Lanka to 44 for 3 in nine overs and after that, Hafeez accounted for Dinesh Chandimal (36) and Prasanna (22), to quell any hopes of a fightback, as Sri Lanka slid from 103 for 3 in the 22nd over to 163 for 7 in 34 overs.
For Sri Lanka, Tillakaratne Dilshan hit ten boundaries in an aggressive 62-ball knock of 59 but fell to Shahid Afridi, while Kumar Sangakkara also hit a six in his 14 before he fell to Junaid Khan, who took 2 for 40. Angelo Mathews chipped in with 44, but he was fighting a lone, losing battle before becoming the ninth wicket to fall.
The remaining two matches will be played in Abu Dhabi on Wednesday and Friday.