Punjab and Baroda chased down targets successfully to knock out fancied Mumbai and Delhi and enter the final of the Syed Mushtaq Ali All India T20 tournament, in Mumbai, on Monday.
Punjab rode on Mumbai's poor batting to restrict the hosts to a meagre 122 for 9 and then chased down the target with five wickets and six balls to spare in the second semi-final.
Earlier, Kedar Devdhar cracked a superb 96 to power Baroda to a comprehensive seven-wicket victory over Delhi with 2.5 overs to spare in the first semi-final at the Mumbai Cricket Association's BKC ground.
The final will be held at the Cricket Club of India's Brabourne Stadium on Tuesday.
Diminutive Devdhar and his second-wicket partnership with Aditya Waghmode took the game away from Delhi in the morning after the northern outfit piled up a challenging 169 for 9, built mainly around opener Shikhar Dhawan's 62 off 42 balls.
Deodhar struck six sixes, all on the leg side and three of them in one over from Mithun Manhas, and 11 fours in his 40-ball whirlwind innings to take the stuffing out of the Delhi ranks.
After the fall of an early wicket, Devdhar, who was sent in at No 3 after having opened in the previous game, and Waghmode, who scored 60 off 40 balls, including eight fours and a six, put on 133 runs off only 65 balls.
The deciding over in the match was the 12th in the run-chase when Devdhar waded into Manhas and clubbed the slow bowler for three sixes -- over square leg and mid wicket -- and a four.
In the previous over, Delhi had given away 11 runs. Both the batsmen were dismissed by Pawan Negi, but, by then, the match was as good as finished in Baroda's favour.
Negi finished with 2 for 33.
Hosts Mumbai batted poorly in the second semi-final against a disciplined Punjab attack. The run-outs of two of their main batsmen - Abhishek Nayar (8) and Suryakumar Yadav (20) also did not help Mumbai's cause.
In fact Nayar's run-out was followed by top-scorer Rahane's (21) wicket and Mumbai had lost two wickets in four balls.
They never recovered from the double strike, which reduced them to 43 for 3 in the eighth over.
The dismissals of Rohit Sharma, caught at long off while going for a big hit off leggie Rahul Sharma, and the run-out of Yadav pushed them
further behind at 87 for 5 and the final tally was not enough to trouble the Punjab batsmen.
Manpreet Gony took three wickets, two off successive balls to send back Ankit Chavan and Mumbai captain Ajit Agarkar, while Rahul Sharma grabbed two for 15.
Punjab's run-chase was led by opener Chandan Madan, who made 55 in 44 balls with nine fours after being dropped on 21 by Yadav off Javed Khan at long-off.
Madan and Mandeep Singh (22 in 22 balls with one six) added 60 runs in 46 balls to take the score past the 100-run-mark and ensured Punjab's victory.
Delhi 169-9 (S Dhawan 62, M Vahora 2-24, Y Pathan 2-30, B Bhatt 3-50) lost to Baroda 173-3 (K Devdhar 96, A Waghmode 60; P Negi 2-39).
Mumbai 122-9 (A Rahane 21, S Yadav 20; M Gony 3-22, R Sharma 2-15) lost to Punjab 124-5 (C Madan 55, Mandeep Singh 22; I Abdulla 3-20).