De Deense prins Hamlet (Mel Gibson) voelt zich behoorlijk verlaten als zijn moeder, Koningin Gertrude (Glenn Close), na de dood van zijn vader binnen een maand hertrouwt met diens broer Claudius (Alan Bates). Hamlet raakt nog meer in verwarring als hij bezoek krijgt van de geest van zijn vader. Deze vertelt Hamlet dat Claudius hem vermoord heeft en hij spoort Hamlet aan om zijn oom Claudius, die nu zijn stiefvader is, uit wraak te vermoorden.
Verscheurd door zijn belofte om een moord te plegen, wordt Hamlet overvallen door een enorme depressie. Polonisu (Ian Holm), de raadsman van Claudius, denkt dat deze zwaarmoedigheid het gevolg is van de onbeantwoorde liefde die Hamlet koestert voor Ophelia (Helena Bonham-Carter), zijn mooie dochter.
Half gek van twijfel en angst probeert Hamlet zijn moeder ervan te overtuigen haar relatie met Claudius te be?indigen. Polonius, die, verdekt opgesteld, getuige is van dit gesprek, wordt hierbij per ongeluk door Hamlet gedood.
Door het verlies van haar vader is Ophelia ontroostbaar en gek van razernij en verdriet. Hamlet, overmand door een groot schuldgevoel, vertrekt op aanraden van Claudius naar Engeland. Als hij in de gaten krijgt dat Claudius hem aldaar wil laten vermoorden, keert hij terug naar zijn geliefde Denemarken. Maar de dood blijft hem achtervolgen. Zijn liefste Ophelia heeft uit wanhoop de hand aan zichzelf geslagen. Claudius ruikt zijn kans en organiseert een duel tussen Hamlet en Ophelia's broer, die zijn zuster wil wreken. Bij dit gevecht wil hij Hamlet laten doden door zowel het zwaard als door vergiftigde wijn. Als Hamlet door het zwaard gewond op de grond ligt, ziet hij zijn moeder de voor hem bedoelde wijn drinken, waarop ze dood neervalt.
Overmand door pijn en verdriet haalt Hamlet naar Claudius uit en steekt hem neer. Hierop drinkt hij de rest van de vergiftigde wijn op. Na wraak te hebben genomen door het doden van zijn stiefvader, bezwijkt ook Hamlet aan zijn wonden en sterft...