Injury-hit Nottinghamshire confirmed their place in the quarter-finals of the Vitality Blast after beating Leicestershire by four runs.
South African Wiaan Mulder’s career-best unbeaten 83 from 50 balls almost led the visitors to their target but two wickets each from Imad Wasim, Shaheen Afridi, Matt Carter and Calvin Harrison restricted them to 164 for eight.
Wicketkeeper Tom Moores top-scored for the second successive match for the Outlaws with 68 from 40 deliveries as the hosts set up an away tie with Somerset.
North Group winners Birmingham completed their campaign with a club-record seventh successive victory – and 11th in 14 matches – after beating Durham by eight runs at Edgbaston.
Although they were bowled out for 141 in the final over, with Rob Yates scoring 53, the moderate target proved beyond Durham as Henry Brookes claimed three for 15.
Lancashire also qualified with a comfortable six-wicket victory over Northamptonshire at Old Trafford which also ended the visitors’ qualification hopes.
Phil Salt hit a 51-ball 74 as the hosts chased down the Steelbacks’ 138 for seven with 20 balls to spare to set up a home tie against Surrey.
Mitchell Santner’s contribution with bat and ball helped book Worcestershire’s place in the quarters after hammering 64 in 46 balls in the visitors’ 222 for five.
He then claimed one for 28 in four overs as Derbyshire came up 28 runs shot despite Wayne Madsen making 63 from 32 balls in reply.
In the South Group defending champions Hampshire booked their place in the last eight thanks to a destructive performance from John Turner in an eight-wicket win over Gloucestershire.
The fast bowler took his Blast tally to 18 with three for 15 as Gloucestershire were restricted to 105.
James Vince’s eighth half-century of the season saw his side home with 33 balls to spare.
Feroze Khushi hit a six off the last ball as Essex snatched a last-gasp three-wicket win over Surrey.
Chasing 196 for victory, the visitors required eight from the final over but five singles put the pressure on Khusi (35 not out), who responded by hoisting the ball to long on where Chris Jordan could not prevent it dropping over the rope.
Bottom side Middlesex won just their third game of the campaign with a 49-run victory over Glamorgan as Ryan Higgins hit 71no off 36 balls to steer his side to a total of 200 and then claimed three for 20 runs, including two in two balls.
Glamorgan looked to be coasting to victory thanks to Kiran Carlson hitting the county’s fastest T20 half-century but when he was out for 77 off just 29 balls they lost all momentum.
Kent missed the chance to snatch fourth – and the last quarter-final place – after they lost by 15 runs to top side Somerset having been asked to chase 222 for victory after Will Smeed smashed 61 off just 28 balls.