Charl Willoughby took 4-29 as Somerset won by 30 runs at Wantage Road to hand previously unbeaten Northants a first Twenty20 Cup defeat of the season.
Chasing 164 to win, Ian Harvey (30 off 17 balls) got Northants off to a flier.
But after Willoughby removed Harvey, Steven Crook, Andrew Hall and Mark Nelson to leave Northants 69-5, the home side could only limp to 133-9.
Zander de Bruyn had earlier played the key innings for Somerset, his 83 off 52 balls helping them to 163-3.
De Bruyn's third half century in five games was also a Twenty20 best score for the Johannesburg-born batsman.
And he was given ample support along the way by Craig Kieswetter (23), James Hildreth (21) and Peter Trego (34 not out).
Somerset's victory helped them close the gap on their hosts to just two points at the top of the Midlands/West/Wales Division.
Both sides have four games left to play after their 19-day competition break.
Somerset return to action at home to Worcestershire at Taunton (22 June, 1730 BST). And Northants are back on Twenty20 duty the same evening with a home tie against Gloucestershire.