David Sales guided Northamptonshire to a five-wicket win at Taunton and probably ended Somerset's hopes of successfully defending the Twenty20 Cup.
The visiting skipper hit an unbeaten 62 from 40 balls, with four sixes and three fours, as his side reached 191 for five in reply to 188 for six, winning with three balls to spare.
The result left holders Somerset with only one win from five games.
Their innings had been built around Justin Langer, who made 97 off 60 balls before being out to the final delivery of the innings.
Sales, who had won the toss, paced his innings perfectly after coming in at 74 for two, although he did have a life on 25 when Matt Wood spilled a chance at deep square leg.
Usman Afzaal had got the Northants reply off to a good start with seven fours in his 33 and Sales later received good support from Lance Klusener, who hit 28 off 16 balls.
Charl Willoughby did his best to turn the match Somerset's way with three for 30 from his four overs.
Ten runs were needed off the last seven balls, but then Sales hit a mighty six off Richard Johnson to end any real doubt about the outcome.
Earlier, Langer had taken a liking to the bowling of Monty Panesar, who claimed the wickets of Keith Parsons and Wes Durston but conceded 51 runs from his four overs.
The Australian opener hit one six off Panesar and two off seamer Matt Nicholson.
He also hit Panesar for three successive boundaries in the 18th over.
Langer looked set to be left high and dry on 97 not out when Peter Trego dominated the final over.
However a single off a wide gave him one delivery to reach his ton, only for Langer to drive in the air and be caught on the long-on boundary by Klusener.
Trego produced some fireworks at the end of the innings, blasting 20 off eight balls, with four fours.
But again Somerset had relied heavily on their openers.
Matt Wood contributed 43 off 27 balls to a stand of 71 with Langer, their fourth half-century partnership in five Twenty20 fixtures.
Sourav Ganguly was the pick of the Northants attack with two for 20 from his four overs and Brown also bowled well until his last over went for 16 runs.