JJ Smuts (38) and Colin Ingram (31) raised hopes of successfully chasing down the target but the pace of Alfonso Thomas and Murali Kartik's spin held the bowling together.
While Somerset moved to the safety of five points, the result effectively knocked KKR out.
Needing 23 in the last two overs, the Warriors surrendered to Thomas, who took two wickets and gave away just two runs in his killer 19th over.
Brief scores: Somerset 146-4 (C Kieswetter 56, R Van Der Merwe 32) beat Warriors 134-8 (J Smuts 38, A Thomas 2-16)