Both teams have already booked their place in Sunday’s title clash at the warm-up tournament to the Twenty20 World Cup in October-November.
Hasaranga returned figures of 3-21 with his leg-spin to help bowl out Pakistan for 121 in 19.1 overs after they elected to field first in Dubai.
Sri Lanka slipped to 29-3 in their chase before Pathum Nissanka (55 not out) and Bhanuka Rajapaksa (24) put on a key stand of 51 as the island nation achieved their target with three overs to spare.
Sri Lanka ace the dress rehearsal before the final to end the Super Four phase on a high 👊#SLvPAK | #AsiaCup2022… https://t.co/75Q764bKey
— ICC (@ICC) 1662743791000
The left-handed Rajapaksa fell after his 19-ball knock but Nissanka stood firm and Hasaranga hit the winning runs as Sri Lanka registered their fourth straight victory.
It was the Sri Lankan bowlers who began the team’s domination as debutant fast bowler Pramod Madushan struck in his first over.
He sent the in-form Mohammad Rizwan, who is second to Virat Kohli in the tournament’s run-scoring charts, back to the pavilion for 14.
Chamika Karunaratne ended Fakhar Zaman’s stay on 13 and Pakistan slipped further when Hasaranga bowled Azam.
Babar, who has struggled in the tournament with scores of 10, 9, 14 and nought in his previous innings, began with a delightful straight drive for four but could not produce a match-defining score.
Pakistan kept losing wickets and Hasaranga finished his spell with two successive wickets to flatten the Pakistan batting, which survived only 19.1 overs despite a late cameo of 26 by Mohammad Nawaz.
Spinner Maheesh Theekshana and Madushan took two wickets each.
Pakistan fast bowlers also picked three early wickets to put Sri Lanka on the back foot before Nissanka and the left-handed Rajapaksa put the chase back on track.
Mohammad Hasnain gave the team a dream start when he got Kusal Mendis out for a first-ball duck on the second ball of the innings.
Fellow quick Haris Rauf got a wicket each in his first two overs to send back Danushka Gunathilaka, for nought, and Dhananjaya de Silva, for nine.
Nissanka then got going with Rajapaksa and despite losing his partner after a strong stand raised his seventh T20 fifty for Sri Lanka.
He was then joined by skipper Dasun Shanaka, who turned 31 on Friday and made 21 off 16 balls before getting out to Hasnain.
Pre-tournament favourites India, who lost two of their three Super Four matches, crashed out after Afghanistan lost to Pakistan on Wednesday.