Faisalabad Wolves opener Mohammad Hafeez picked the perfect time to smash the first century of the tournament, his 53-ball 100 sinking Lahore Lions in the semi-finals at the National Stadium. Hafeez's effort was the cornerstone of Faisalabad's 211, the first 200-plus total of the competition, which proved 45 runs too many for Lahore.

After being sent in, Hafeez plundered 117 runs with Asif Hussain at 10-an-over to drive Faisalabad towards a big score. It was Hussain who was the aggressor in the early overs, before Hafeez opened out. There was no let-up in the momentum even when Hussain fell for a 34-ball 54 in the 12th over - the next over, from Waqas Ahmed, was the most expensive of the innings, Hafeez blasting a six and three fours to take 20 runs. Hafeez was dismissed in the 17th over, after crashing 16 fours and two sixes, with the score at 176, after which Waqas Ali's cameo made sure Faisalabad crossed 200.

Lahore didn't wilt in the face of the big target, making a spirited start to the chase despite losing Nasir Jamshed early. Salman Butt and the Akmal brothers kept up with the asking-rate but no one besides Butt could sustain the onslaught. The fight went out of Lahore with the loss of Kashif Siddiq and Waqas Ahmed in consecutive overs in the middle of the innings. The asking-rate started to rise and when Butt was dismissed for 59 in the 15th over, the match was all but decided.

In the other semi-final, defending champions Sialkot Stallions reached yet another domestic Twenty20 final by edging out Karachi Dolphins by seven runs in what was a rematch of last year's title clash.

It was a game with plenty of twists. Sialkot opener Imran Nazir started the match with two fours off the first two balls, then smacked a six over square leg and a four to midwicket in the second over before retiring hurt with the score at 29 in two overs. After a steady spell, Sialkot lost three wickets in the space of three overs, followed by another burst of hitting, from Shoaib Malik and Nazir, who returned after the fifth over.

Sialkot had reached a strong 89 for 3 after ten when Karachi started to reel in the run-rate, with the help of the legspin of Shahid Afridi, who took wickets in three consecutive overs. Malik remained unbeaten on 40 but Sialkot never hit the gear they had in the early part of the innings to finish on a middling 149.

The Karachi chase had a bizarre first 12 overs. They reached 82 for 6, but 49 of those runs came in three frenetic overs, while in the rest they struggled to score. Shahzaib Hasan started in a hurry, carting Mohammad Asif's first over for 18 but Abdul Razzaq struck twice in the second over to check the scoring. Asif then took two wickets of his own in the third over and Karachi were down to 22 for 4.

Afridi didn't bother about the wickets lost, belting three fours and two sixes before top-edging a catch to cover to fall for a 11-ball 29. The required-rate was less than seven at that stage, so Fawad Alam and Sheharyar Ghani sensibly went about accumulating the runs in singles and twos.

After Ghani was dismissed in the 12th over, Fawad brought the required-rate back under control by crashing a six and a four off two free-hits in a Abdur Rehman over. His exit in the 15th over, to a superb diving catch from Shahid Yousuf at short midwicket, turned the game but Karachi managed to take it to a stage where the last pair needed 19 off two overs.

When Mohammad Sami took eight off the first three balls from Naved-ul-Hasan, the match could have tilted either way, but he was run out off the next delivery to send Sialkot through to the final.