Somerset staged a remarkable fightback with some superb bowling, after Craig Kieswetter shone with the bat, to defeat Warriors by 12 runs and qualify for the semi-finals in the Champions League Twenty20 in Bangalore on Wednesday.
Electing to bat, Somerset scored 146 for four, with opener Kieswetter carrying the bat with a gritty unbeaten 56. Their bowlers then came up with a disciplined display, coming back strongly after it looked like that match had slipped out of their grasp.
Chasing 147 for victory, Warriors were comfortably placed at 71 for one at the halfway mark, but some tight bowling and quick wickets saw the match title Somerset's way.
Warriors needed 37 from the last three overs, with five wickets in hand, but could score just 24 runs and ended up with 134 for eight in the Pool B match at M A Chinnaswamy stadium.
For Somerset, captain Alfonso Thomas, Steve Kirby and Murali Kartik bagged two wickets each while Adam Dibble and Roelof van der Merwe chipped in with one each.
Somerset completed their league engagements, collecting five points from four matches, and booked a berth in the semi-finals from Pool B.
Warriors started their run chase on a strong note, openers Ashwell Prince and Jon-Jon Smuts finding the boundaries early on.
The duo took 13 runs from the third over of the innings, bowled by Dibble, with Smuts hitting two fours and Prince one.
Prince was, however, out in the next over of Kirby when Alfonso Thomas took a fine running catch (30-1).
But Warriors cruised and were comfortably placed at 71 for one at the halfway mark. However, the loss of two quick wickets, in the 12th and 13th over, pegged them back.
First Ingram was dismissed by Dibble while trying to play a pull shot off a slower short ball only to get the top edge and see Nick Compton take an easy catch at deep square leg.
Ingram's 31 came from 25 balls and had one four and two sixes in it.
Next over, Kartik had Smuts, who unnecessarily attempted a wild pull shot off a ball that turned and looped up for Suppiah to take a sliding catch. Smuts's 38 came off 39 balls, and had four fours in it.
Somerset came back into the match when Kirby dismissed captain Botha in the 15th over. The batsman was lured into playing a shot a tad early and the ball ballooned to long-off for Suppiah to take the catch.
Four wickets -- Smuts (38), Craig Thyssen (12), Wayne Parnell (0) and Athenkosi Dyili (0) -- fell in the last five overs for the addition of 35 runs as Warriors lost the plot at the dead overs.
Earlier, Kieswetter scored a patient unbeaten half century as Somerset posted a fighting 146 for four.
Electing to bat, Somerset made a shaky start, losing opener Peter Trego (0) in the first over but recovered well when Kieswetter (56 not out) got the game going.
Fast bowler Lonwobo Tsotsobe gave the Warriors an early breakthrough, dismissing the dangerous Trego, who had also scored a half century against Royal Challengers Bangalore, in his first over to start off with a maiden over.
Tsotsobe's joy was short-lived, as he was treated with disdain by Roelof van der Merwe. Van der Merwe took 17 runs in an over, laced with two boundaries and a six.
Thanks to Merwe's quick-fire 16-ball 32, Somerset recovered from early jitters. Kieswetter and Merwe stitched an impressive 29-ball 48 from 4.5 overs for the second wicket.
With wickets falling at regular intervals, the onus of bailing Somerset out of danger shifted to Kieswetter and he did it quite well by batting through the innings and taking the team score to near the 150 mark.
Jos Buttler (30) and James Hildreth (21) chipped in with cameos for Somerset to post a fighting total.