Lorsque le père du jeune écossais David Balfour meurt, ce dernier quitte l'école pour récupérer son héritage auprès de l'oncle Ebenezer, qui à son tour vend le garçon comme futur esclave à un bateau pirate. Lorsque Alan Breck Stewart, partisan fidèle de la dynastie Stuart, monte accidentellement à bord du navire, il emmène David avec lui pour s'enfuir à Édimbourg. Ils se séparent et se rencontrent à plusieurs reprises, mutuellement utiles contre les Redcoats et respectueux, bien que David soit fidèle à la couronne anglaise, mais apprend sa cruelle oppression. Les deux affrontent finalement leurs adversaires.