Le château de Ham fut assiégé à plusieurs reprises, en particulier par Philippe II d'Espagne en 1557. Rattaché à la couronne de France sous le règne d'Henri IV, il fut l'objet de transformations à la fin du par Vauban.
Il fut ensuite transformé en prison d'État. Il accueillit de célèbres prisonniers au nombre desquels le dernier fut le prince Louis-Napoléon Bonaparte (futur Napoléon III) qui y séjourna six ans, et finit par s'en échapper, déguisé en maçon, sous l'identité de Badinguet.
En 1870, la deuxième armée du Nord encercla la ville de Ham occupée par les Prussiens et les obligea à signer une capitulation.