En 1677 et dans les années qui suivirent, la lutte était âpre entre les catholiques et les protestants en Grande Bretagne. L'Écosse fut le théâtre de nombreuses batailles. Henry Morton est fait prisonnier par une petite poignée de soldats du Roi, parce qu'il a aidé un puritain (religion protestante) à se soustraire à la justice du Roi (de religion catholique), en mémoire de son père qui avait servi dans les troupes puritaines. Ils font halte pour la nuit au château de Tillietudlem. Une garnison complète sur pied de guerre s'arrête au même château, garnison commandée par le colonel Glaverhouse. Celui-ci ne veut pas relâcher Morton et emmène avec lui le prisonnier, pour aller livrer bataille contre les protestants. Celle-ci est néfaste aux catholiques et beaucoup de soldats y perdent la vie. Morton, qui réussit à s'échapper, commande, presque contre son gré une garnison de puritains. Les protestants gagnent la bataille et se dirigent vers le château de Tillietudlem. Henry Morton essaie par tous les moyens de sauver les habitants du château, entre autres la jolie Edith Bellenden dont il est amoureux, bien qu'elle soit promise à un autre. Après de nombreuses péripéties, Morton s'échappe en Hollande où il se fait oublier pendant quelques années...