Buttler seizes the moment
Somerset assured themselves of a spot in the Clydesdale Bank semi-finals when they beat Surrey by 64 runs under the Duckworth-Lewis method with more than four overs to spare at Taunton.
The Sabres produced a powerful batting display in a rain-affected match that was reduced to 36 overs a side.
Having been put in to bat, Somerset openers Marcus Trescothick and Craig Kieswetter raced on to 32 before Trescothick fell for eight, caught at midwicket by Matthew Spriegel off Chris Tremlett from the final ball of the third over.
Kieswetter flayed 18 off the fifth over - a six and three consecutive fours - bowled by Tremlett to take Somerset to 55 and continued in similar fashion to bring up a 29-ball half-century with a cover-drive off Jade Dernbach. It contained seven fours and two sixes.
The wicketkeeper brought up the Somerset hundred in style, lofting leg-spinner Chris Schofield over midwicket in the 12th over.
During the partnership between Kieswetter and Zander de Bruyn the players left the field twice for heavy rain.
De Bruyn went to his own fifty in the 19th over and off the first ball of the next over he brought up the 150 with a straight drive off Schofield, who exacted revenge next ball by having de Bruyn caught at midwicket.
Between them the third-wicket pair had added 87 in 12 overs, and Kieswetter was next to perish, stumped by Steven Davies off Schofield for 79.
James Hildreth was joined by Jos Buttler, who continued his rich vein of one-day form.
With an array of explosive and innovative shots, including a huge six over long-on off Dernbach, Buttler raced to his fifty off just 31 balls.
The 19-year-old hit successive sixes high over cover when Spriegel was introduced into the attack in the penultimate over.
He was bowled next ball for 87, which came off 46 balls and included nine fours and four sixes. Along with Hildreth, he had added 123 in 13.3 overs.
Somerset eventually reached 290 for six, Hildreth bowled for 38 by Tremlett off the last ball of the innings, having played his part in helping add 105 off the last 10 overs.
Chasing a revised target of 292 off 36 overs, Surrey lost their captain Rory Hamilton-Brown, caught by Peter Trego off Alfonso Thomas’ third ball of the innings.
Thomas also had a hand in the second wicket when he ran out Davies in the fifth over.
Mark Ramprakash and Stewart Walters took control to bring up the 50 in the ninth over.
Ramprakash was in fine form and hit the first six of the Surrey innings when he lofted Trego high over midwicket in the 13th over.
Walters had moved on to 45 when he was bowled by Murali Kartik with the score on 91, and Jason Roy was stumped by Kieswetter in the same over.
Spriegel brought up the hundred with an off-driven boundary off Trego, and Ramprakash moved to 73 before hoisting Trego, high to Buttler at deep extra-cover.
Trego struck again in the same over when he trapped Schofield leg before and, going into the final 10 overs, Surrey needed 121 for victory.
When Thomas gratefully received a caught-and-bowled chance from new batsman Gareth Batty and Tremlett was run out the visitors' chances looked even slimmer.
Spriegel and Dernbach added 44 for the ninth wicket before Dernbach was caught by Buttler for 31 and two balls later de Bruyn bowled Cheetham to bowl Surrey out for 227 in the 32nd over.