Pakistan are now all but guaranteed a place in the final, and should meet arch rivals India, if they beat Bangladesh today.
Pakistanis play their 'normal game' to beat Sri Lanka
Half-centuries by Misbah-ul-Haq and Umar Akmal and a lively spell of bowling from the paceman Aizaz Cheema helped Pakistan to a six-wicket win over Sri Lanka in the Asia Cup on yesterday.
Sri Lanka's defeat was their second in a row while Pakistan are now all but guaranteed a place in the final.
Misbah, the captain, and Akmal shared a stand of 152 for the fourth wicket to lead Pakistan safely to their target in 39.5 overs after Cheema claimed four for 43 and Saeed Ajmal three for 27 as Sri Lanka were bowled out for 188.
Pakistan reached their victory target for the loss of four wickets as Akmal (77) and Misbah (72 not out) put in strong performances, although they had to dig deep to recover from 33 for three.
Misbah said: "It was a really good partnership between me and Umar Akmal. I told him to play his normal game, the runs automatically came.
"Cheema was hit for a lot of fours in his first couple of overs. I told him your main weapon is aggression, so bowl with aggression, No point containing batsmen on these pitches, best to take wickets.
"It was important for me to get my confidence back, the England series was not good for me, so this innings is a confidence booster."
Mahela Jayawardene, the Sri Lanka captain, said: "Batting first we felt 250-260 would have been a good score, we had a good start, but we lost too many wickets and exposed our lower middle order. I thought the Pakistanis bowled really well.
"They had a much better game than us today."
Cheema provided Pakistan's first breakthrough when Mohammad Hafeez leapt high at extra cover to dismiss Jayawardene for 12, and he claimed his second wicket with a bouncer to Tillakaratne Dilshan which induced a top edge and was gobbled up by Ajmal.
Dinesh Chandimal followed to a fourth-ball duck at the hands of Umar Gul before Saeed Ajmal took the wicket of Upul Tharanga, who struck 57 off 74 balls including four fours. Kumar Sangakkara and Upul Tharanga put up a 96-run fifth-wicket stand but Sri Lanka lost their last six wickets for 27 runs.
India will reach the final if they win against Bangladesh today.