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.
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
There is rarely a dull moment when Rishabh Pant is around. If not making jaws drop with his pyrotechnics with the bat in hand, Pant keeps everyone entertained
Jasprit Bumrah left Shadman Islam stunned with a delivery that the Bangladesh expected to swing away from him. With 3 slip fielders lurking behind, the Banglade
Jasprit Bumrah entered an elite club in cricket. The Indian pace maestro claimed the 400th wicket in his international career, comprising Test, ODI and T20I cri