Put into bat, Rilee Rossouw and Mohammad Rizwan stroked unbeaten half-centuries to help Multan Sultans collect 163 for two in 20 overs after they were 65 for two at the halfway stage.
Lahore Qalandars were cruising nicely at 102 for three in the 14th over before they suffered a collapse and ultimately finished at 135 for nine.
While Sultans qualified for Sunday’s final, Lahore Qalandars have another opportunity to reach their second title match in three years when they will play the winner of Peshawar Zalmi-Islamabad United on Friday (February 25).
Rossouw struck seven fours and a six in his 42-ball 65 not out, while Mohammad Rizwan scored a 51-ball 53 not out with three fours.
Rizwan added 47 runs for the second wicket with Aamer Azmat (33), while he put on 113 runs for the unfinished third wicket with Rossouw.
For Lahore Qalandars, Mohammad Hafeez and Samit Patel took a wicket each.
In turn, Lahore Qalandars lost their way following the departure of Harry Brook (13) as they lost six wickets for 33 in just over six overs to finish at 135 for nine.
Fakhar Zaman scored an entertaining 63 off 45 balls with two fours and four sixes, including three successive sixes off Imran Tahir.
He added 54 runs for the fourth wicket with Harry Brook. Shahnawaz Dahani was the star for Multan Sultans with the ball.
He grabbed the crucial wickets of Brook (13), Phil Salt (1) and Shaheen Shah Afridi (1) to finish with figures three of 19.
David Willey bagged two for 23, while Asif Afridi and Khushdil Shah bagged a wicket each.
Brief Scores: Multan Sultans: 163/2 (Rilee Rossouw 65 not out, Mohammad Rizwan 53 not out; Mohammad Hafeez 1-16) beat Lahore Qalandars: 135/9 (Fakhar Zaman 63, Kamran Ghulam 20; Shahnawaz Dahani 3-19) by 28 runs.
Get breaking news alerts.
You have already subscribed