Hamlet, fils du roi du Danemark qui vient de mourir, est ulcéré du remariage de sa mère, la reine Gertrude, avec Claudius, frère et successeur du défunt. Il apprend de son fidèle ami Horatio que le château d'Elseneur est hanté la nuit par le spectre de son père. Lui apparaissant, celui-ci lui révèle qu'il a été empoisonné par Claudius avec la complicité de la reine, et lui demande de châtier le coupable. Profondément troublé, le jeune prince se prostre dans son épouvante et se fait passer pour fou. Cette folie étant attribuée à son amour pour la pure et douce Ophélie, fille du grand chambellan Polonius, ce dernier et Claudius épient les deux jeunes gens dans l'espoir de voir Ophélie arracher à son soupirant son terrible secret. Pour confondre Claudius, Hamlet fait jouer devant lui une pièce,, dont l'action met en scène un assassinat similaire à celui dont le roi a été victime. Claudius en est irrité, et sa sortie précipitée l'accuse définitivement aux yeux d'Hamlet qui pourtant, dès lors, ne cesse d'hésiter à accomplir l'acte vengeur. Le spectre réapparaît, ravivant sa volonté. Au cours d'une altercation avec la reine sa mère, Hamlet croit que Claudius se cache derrière la tenture. Il frappe, mais c'est Polonius qu'il tue ainsi par erreur.
Claudius envoie alors Hamlet en Angleterre sous la garde de ses courtisans Guildenstern et Rosencrantz, ceux-ci étant porteurs d'un message ordonnant la mort du prince. Lequel déjoue la ruse et remplace le message par un autre ordonnant la pendaison de ceux qui en sont porteurs. De retour à Elseneur, il apprend qu'Ophélie, devenue folle en son absence, s'est laissée mourir, noyée. Le fils de Polonius, Laërte, rentré de France, veut venger son père. Hamlet l'affronte en duel. Tous deux vont périr, non sans qu'ait pu être révélé le complot ourdi par Claudius, qui tombe sous les coups d'Hamlet tandis que la reine Gertrude meurt empoisonnée en buvant par erreur le breuvage destiné à son fils.
Il put paraître étonnant de voir l'acteur australien (d'origine américaine) Mel Gibson, alors encore marqué par son rôle de Mad Max, incarner Hamlet. En réalité, Gibson avait déjà tenu le rôle à la scène et bénéficiait d'une expérience théâtrale non négligeable, ayant joué notamment "Henri IV", "OEdipe" ou encore "Roméo et Juliette" au sein de la State Theater Company of South Australia.