Squire Trelawney (Walter Fitzgerald), doktor Livesey (Denis O'Dea) i Jim Hawkins (Bobby Driscoll) postanawiają odnaleźć ukryty skarb kapitana Flinta. W tym celu wynajmują statek oraz ludzi i wyruszają na karaibską wyspę, gdzie według mapy mają być zakopane kosztowności. Nie zdają sobie jednak sprawy, że na okręcie, którym płyną, znajduje się spora liczba piratów ze starej załogi Flinta, w tym ich nowy przywódca - Długi John Silver (Robert Newton).
Druga wojna światowa zbliża się nieuchronnie, choć większość Brytyjczyków wciąż w to nie wierzy. Jednym z nielicznych, którzy traktują zagrożenie poważnie, jest Jim Perry (David Niven), pracownik stacji benzynowej, który wstępuje do nowo utworzonej armii brytyjskiej. Po Dunkierce porucznik Perry zostaje instruktorem rekrutów, początkowo lekceważących realia wojny, lecz szybko przekonujących się, że jego szkolenie to nie zabawa. Wkrótce pluton wyrusza w tajną misję do Afryki Północnej, gdzie zbliża się ich pierwsze spotkanie z wrogiem.
W jednym z londyńskich teatrów Richard poznaje tajemniczą dziewczynę. Gdy tej samej nocy zostaje ona zamordowana, mężczyzna postanawia rozwikłać zagadkę zbrodni.