Jason Roy's 52 off 23 balls inspired Surrey to a three-wicket victory over Worcestershire at the Kia Oval, Lancashire edged out Glamorgan by a single run in a match that went to the wire at Emirates Old Trafford, while Birmingham defeated Essex by 19 runs at Chelmsford.
The winners of Nottinghamshire's clash against Hampshire on Sunday will complete the line-up for Finals Day, which will be held on August 23 at Edgbaston.
Surrey were the first side to book their place in Birmingham, with opening batsman Roy coming to the fore with a trademark blitz.
After Worcestershire had been restricted to 141 for nine, with Jade Dernbach, Robin Peterson and Matt Dunn each taking two wickets, Roy got Surrey's reply off to an ideal start.
He thumped eight fours and three sixes and although Surrey stuttered after his exit, Peterson struck 24 not out, plundering the winning runs with his third four to guide them past their target in 16.3 overs.
Lancashire were grateful for Jordan Clark taking four wickets in eight balls without conceding a run as the Lightning edged to success by the narrowest of margins in a match that was played on Saturday after rain had wiped out any chance of play 24 hours earlier.
Defending a modest total of 137 for eight - built around Usman Khawaja's 67 off 54 balls - it was Glamorgan who were in pole position at 88 for two after 13 overs, but Clark accounted for Murray Goodwin, Chris Cooke, Stewart Walters and David Lloyd as the Welsh side slipped to 100 for six.
Jacques Rudolph (67 not out) kept them in the hunt, but needing six off Clark's final ball for the win, Andrew Salter could only hit a four as Lancashire progressed through to their fifth Finals Day in the competition.
The Birmingham Bears ensured they will have home advantage later this month as unbeaten half-centuries from captain Varun Chopra and Rikki Clarke proved too much for Essex to overcome, despite the best efforts of skipper Ryan ten Doeschate.
Chopra hammered six fours and four sixes in his 86 off 54 balls, while Clarke was even more dynamic with eight boundaries and two maximums in his 70 off 37 deliveries to guide the Bears to a formidable 197 for two.
The hosts were undermined by a steady fall of wickets and although ten Doeschate (61no off 37 balls) ensured they did not capituate, Essex fell well short and finished on 178 for five.
- Sports & Recreation
- Robin Peterson