Somerset 208 for 5 (Banton 84) beat Surrey 190 for 9 (Jacks 50, Henry 4-30) by 18 runs
That left Surrey 85 for 5 and although Sam Curran kept swinging with 47, Surrey finished on 190 for 9. Somerset had already secured a home tie in the last eight but Surrey will need to beat Essex at the Kia Oval on Sunday to give themselves the chance of finishing runners-up.
Surrey paid heavily for an unusually sloppy performance in the field. Banton was badly dropped by Jacks at backward point on 39, Jacks having earlier put down a tougher chance when Tom Kohler-Cadmore had made 14. Those drops were to cost Surrey 70 runs.
Somerset lost Will Smeed in the fourth over when he failed to clear mid-on off Sean Abbott, but Banton and Kohler-Cadmore ticked along at nearly 12 an over for the next five overs, Kohler-Cadmore producing the shot of the innings when he reverse-swept Sunil Narine over the short boundary on the gasholder side which bounced back off the scoreboard.
Jacks held on to a catch to remove Kohler-Cadmore for 39 and Narine picked up Tom Abell and Tom Lammonby in successive overs to give Surrey some control. But when Ben Green, twice, and Banton lofted Tom Lawes over the leg-side boundary in the 15th over Somerset found momentum again. Banton looked to be on course for a hundred but aiming to clear the leg side again he got a leading edge and Sam Curran took a simple catch off his own bowling.
Green struck the ball impressively in his 40 from 24 balls although Curran and skipper Chris Jordan did well to only concede 12 runs in the last two overs.
Somerset's most experienced seamers, Craig Overton and Henry, shared the first six overs and Henry removed Laurie Evans, who drove to mid-on, and Narine, caught at mid-off, to give them early control. Jacks and Sam Curran counterattacked, adding 58 in 29 balls before Sodhi made a decisive breakthrough in his first over for the county.
Jacks had just reached a 26-ball fifty - his fifth in this season's Blast - when Kohler-Cadmore plucked a brilliant catch out of the air at long-on and Sodhi pinned Smith lbw with his next ball. If that wasn't bad enough, Craig Overton returned to the attack in the next over and had the dangerous Abbott caught behind. Surrey had lost three wickets in six balls for the addition of one run and their race looked run.
Sam Curran and Jamie Overton took the fight back to Somerset, sharing 51 off 28 balls before Green, the competition's leading wicket-taker, snared his 27th victim when he bowled Overton at the start of the 15th over. A target of 67 off the last five overs was beyond Surrey but at least a crowd of 25,000 had 19 sixes and nearly 400 runs to enjoy.