Duński książę Hamlet (Laurence Olivier) po skrytobójczej śmierci ojca postanawia go pomścić. Zabójcą króla okazuje się jego brat, Klaudiusz (Basil Sydney), który poślubia matkę Hamleta, królową Gertrudę (Eileen Herlie). Pragnienie zemsty młodego księcia doprowadza do pozbawienia życia członków rodziny. Ginie również wierny dworzanin Poloniusz (Felix Aylmer), ojciec ukochanej Hamleta, Ofelii (Jean Simmons).