Surrey booked their place at Twenty20 finals day for the first time since 2006 after securing a three-wicket win over Somerset in their Friends Life t20 quarter-final at the Kia Oval.
Despite a magnificent unbeaten 70 off 51 balls from Craig Kieswetter, Somerset could only post 148 for six and that was never likely to be enough after Steven Davies and Jason Roy launched Surrey's reply with an opening stand of 62 inside eight overs.
Vikram Solanki then hit Irish international left-arm spinner George Dockrell for successive leg-side sixes at the end of the 13th over to leave Surrey needing less than six an over and they sealed victory with six balls to spare.
Jos Buttler raised Somerset’s hopes when, running round from deep midwicket, he spectacularly caught Roy one-handed for 28 off Peter Trego. The same bowler accounted for Davies shortly after, held on the midwicket fence for a fluent 23-ball 35.
But Solanki's selective hitting made sure the game went Surrey's way, with Gary Wilson also playing sensibly for his 19 after Azhar Mahmood drilled Yasir Arafat to mid-off on 14.
Wilson, though, was run out in extraordinary fashion as he looked for an overthrow after Zafar Ansari struggled to avoid being run out himself by a direct hit on the bowlers' stumps, and Zander de Bruyn was short of his ground following Trego's throw from mid-off in the same over.
Surrey got over the line despite the late flurry of wickets as Jon Lewis struck the winning four from the last ball of the 19th over.
Somerset began positively, with Chris Jones taking boundaries off both Azhar and Chris Tremlett before losing his leg stump on 11 to a yorker from the latter in the fifth over.
Kieswetter had already given the innings some early momentum with successive sixes off Tremlett and he was chiefly responsible for taking Somerset to 44 for one after the initial six-over powerplay.
Trego hit 33 from 26 balls in a second-wicket stand of 60 spanning nine overs with Kieswetter, including a six swung over wide midwicket off Ansari's left-arm spin. But when he was bowled trying to reverse sweep Gareth Batty the Somerset innings failed to kick on.
Buttler, pushed up the order to number four, could not respond and was caught at the wicket for three after giving Ansari the charge, and Alviro Petersen was run out for five by an underarm direct hit from Batty as he ran in towards the bowlers' stumps from extra-cover.
Nick Compton managed four fours in a 13-ball 22, but Kieswetter was starved of the strike in the closing over before Compton and Craig Meschede were dismissed in a brilliant final set of six by Jade Dernbach.
Compton chipped a return catch and Meschede heaved the next and final ball to Roy at long-on.