Do kraju tymczasem z Francji wraca Laertes, syn Poloniusza, brat Ofelii. Wywołuje rebelię i wdziera się do zamku, żądając ukarania zabójcy Poloniusza. Klaudiusz uspokaja Laertesa, obiecując mu zorganizowanie sprawiedliwego procesu. Obiecuje także, iż nie będzie dłużej osłaniał Hamleta. Kolejnym, po śmierci ojca, ciosem dla Laertesa jest obłęd Ofelii, w jaki popadła po śmierci ojca.

Do Elsynoru powraca Hamlet. Trafia na pogrzeb Ofelii, która utopiła się w rzece (najprawdopodobniej popełniając samobójstwo); ma miejsce ostra wymiana zdań między Hamletem a Laertesem, który wini go za utratę ojca i siostry. Postanawia wykorzystać to Klaudiusz. Proponuje Laertesowi pojedynek z Hamletem. Laertes wpada na pomysł, by posmarować trucizną (zatrutym balsamem) klingę swojej broni, a król planuje podać Hamletowi w czasie walki kielich z zatrutym winem. Hamlet, chociaż żałuje swoich ostrych słów wobec Laertesa, przyjmuje wyzwanie. W czasie pojedynku Laertes rani Hamleta, jednak w ferworze walki zatruty floret przechodzi do rąk Hamleta, który także rani swojego przeciwnika. Tymczasem zatrute wino wypija królowa, przez co umiera. Laertes przed śmiercią wyznaje Hamletowi prawdę o zdradzie swojej i Klaudiusza. Hamlet zabija króla. Umierając wyraża prośbę, by nowym władcą Danii został Fortynbras.