Gertrude drinks a poisoned cup that Claudius had meant for Hamlet. When Gertrude faints and Claudius excuses this by lying "she swoons to see her son bleed," Hamlet hears Gertrude say it was the cup that killed her.
Laertes is killed dueling with Hamlet. He uses a poisoned foil and cuts Hamlet's flesh, barely, but enough for the poison to do its work to kill Hamlet. Hamlet, continuing the fight, picks up the tainted foil by mistake, so when he wounds Laertes, Laertes is thus poisoned. Hamlet hears a confession from Laertes, then stabs Claudius with the same poisoned sword and pours the rest of the poisoned drink down his throat, thus killing him three ways: sword wound, poisoned sword, poisoned drink.
The notable quality of all these deaths is that they are all wrapped in lies, deceit and treachery. Hamlet finished this tawdry mess by revealing the hidden and by assuring that Horatio would tell his story. There could be no honorable conclusion for these characters. Hamlet is our hero who pursued his quest by using a clever and cruel web of lies. He used lies and pretense to uncover larger lies. In his death, he begs for an honest telling of his life.