Skipper Angelo Mathews scored 93 as Sri Lanka survived a three-wicket burst by Mohammad Hafeez to make 310-9 from 50 overs in the second one-dayer against Pakistan in Hambantota on Tuesday.

The hosts, needing a win to keep the three-match series alive after losing the opening game by four wickets on Saturday, stuttered to 62-3 after electing to take first strike.

Mahela Jayawardene and Mathews retrieved the situation by adding 122 for the fourth wicket, with both batsmen recording their second successive half-centuries.

But the dismissal of Jayawardene for 67 in the 34th over -- the first of three wickets in as many overs by Hafeez-- saw Sri Lanka collapse from a commanding 184-3 to 194-6.

Big-hitting Thisara Perera helped Mathews add 87 off 57 balls for the seventh wicket before the captain holed out to mid-wicket against Wahab Riaz seven runs short of a century.

Perera smashed 65 off 36 balls as the hosts plundered 101 runs in the last 10 overs.

Hafeez, who also trapped Seekkuge Prasanna and Ashan Priyanjan leg-before in successive overs, finished with three for 39 from 10 economical overs. Riaz had four for 65.

Hafeez stepped in for the prolific Saeed Ajmal, who was yet to return from Australia where he underwent tests on his bowling action after being reported by the umpires during the preceding Test series.

Pakistan, hoping to win the one-day leg after they lost the Tests 2-0, were also without frontline batsman Younis Khan who returned home following a death in the family.

Sharjeel Khan replaced Younis, while Sri Lanka dropped batsman Dinesh Chandimal to play leg-spinner Prasanna.

The match was originally slated to be played in Colombo on Wednesday, but heavy rains in the Sri Lankan capital forced officials to change the venue and advance the game by a day.

The third and final one-dayer will be held in Dambulla on Saturday. – AFP