Somerset booked their place at Vitality Blast Finals Day after defeating holders Nottinghamshire by 19 runs in their held-over quarter-final at Taunton.
Somerset captain Lewis Gregory passed a late fitness test and went on to plunder an unbeaten 60 from 24 balls as his side made 209-5 after being put into bat, James Hildreth weighing in with 52 in a game which was postponed on Sunday due to heavy rain.
The visitors' run chase gave cause for optimism but they slid from 133-2 to 190 all out in the final 6.2 overs, Somerset seamer Jamie Overton taking five wickets, including Alex Hales (45 off 28).
Somerset will play Sussex Sharks in the semi-finals at Edgbaston on September 15, with Lancashire Lightning facing Worcestershire Rapids.
Somerset were 81-3 at the halfway stage and needed the timely acceleration of Hildreth and then Gregory and Tom Abell (46 off 30) - Gregory and Abell making the most of the closing overs, boosting their stand to an unbroken 81 from only 33 balls.
Overton removed Riki Wessels (10) in the third over of the reply but Hales ensured that Notts enjoyed a profitable powerplay as he sped to 45 before driving to cover.
Notts were 15 runs ahead of their opponents at the half way stage and Tom Moores maintained the charge with 36 from 18 balls - but Somerset battled back with a series of dot balls.
Fifty four runs were required from the final 18 deliveries but the contest was effectively ended then as Overton removed Samit Patel (7), Luke Fletcher (8) and Steven Mullaney (9) in the same over.
Watch Vitality Blast Finals Day, live on Sky Sports on Saturday, September 15.