The stand should have ended much earlier as Gus Miller totally missed a simple catch at long-off that would have removed Kohler-Cadmore for just seven but he went on to strike four sixes to reach 50 in 38 balls before he fell to Ben Sanderson.
Sean Dickson then made 33 off 17 to lift Somerset to their second-highest total of the tournament.
Ricardo Vasconcelos ignited the chase by taking 18 from the final over of the powerplay to leave the home side 52-1 after six overs.
Willey followed with a flat six over long-on off Craig Overton’s final ball before another six was pulled over deep square.
But Vasconcelos scooped Lewis Gregory to long leg to fall for 30 in 24 balls and after Justin Broad began to fire with 29 in 17, he popped a return catch back to Gregory to leave Northants 114-3 in the 13th over.
Northants needed 79 from the final five overs and Zaib kept the hosts in it with two pick-ups over the leg side for six but he skied up a catch to depart for 32 in 16 balls.
Willey brought up his half-century in 35 deliveries but became starved of the strike and when he also fell, to Jake Ball, the Northants chase petered out.
The schedule for England’s Test series in Pakistan has finally been confirmed, just 17 days before play gets under way, with the Pakistan Cricket Board (PCB)
This week too, it was announced that the forthcoming Club World Cup, Fifa’s green-eyed attempt to park its tanks on Uefa’s
Afghanistan vs South Africa, 2nd ODI, Live Score: After making history in the first ODI, Afghanistan are set to lock horns with South Africa once again in the
India spared Bangladesh the ignominy of a follow-on but grabbed an overall lead of 308 with seven wickets in hands to seize control of the opening test in Che