Paceman Mohammad Irfan took two for 18 and Umar Akmal scored a crucial 48 as Pakistan beat Sri Lanka by six wickets in the Asia Cup after chasing a target of 151 on Friday.
In the last group match of the competition, and with both sides already out of the tournament, Pakistan captain Shahid Afridi won the toss and elected to bowl first.
Sri Lanka were given a great start by their openers as Dinesh Chandimal and Tillakaratne Dilshan put on 110 in the first 14 overs.
Chandimal was the first to fall as he went for 58 from 49 balls to left-arm fast bowler Wahab Riaz in the 15th over, but Sri Lanka could not take advantage of the good foundation that was laid.
Irfan was sensational through the middle overs as he snared the wickets of Chanaka Kapugedera (2) and Dasun Shanaka (0) to put the brakes of the opposition.
Dilshan batted through the innings to end on 75 not out off 56 balls, including 10 fours and one six, but received no support from the middle-order as Sri Lanka ended on 151 for four.
Pakistan lost Mohammad Hafeez (14) in the fourth over but Sharjeel Khan (31) and Sarfraz Ahmed (38) got the innings back on track.
Akmal though played the match-winning innings as his runs came off just 37 balls and together with Shoaib Malik (14*) saw his team to victory.
The final of the Asia Cup will take place on Sunday when host nation Bangladesh play India in Mirpur.