The play is set in the court of Malfi (Amalfi), Italy, from 1504 to 1510. The recently widowed Duchess falls in love with Antonio, a lowly steward. Her brothers, Ferdinand and the Cardinal, forbid her from remarrying, seeking to defend their inheritance and desperate to evade a degrading association with their social inferiors. Suspicious of her, they hire Bosola to spy on her. She elopes with Antonio and bears him three children secretly. Bosola eventually discovers that the Duchess is pregnant but does not know who the father is.
Ferdinand, who is a lunatic and incestuous brother, threatens and disowns the Duchess. In an attempt to escape, she and Antonio concoct a history that Antonio has swindled her out of her fortune and must flee into exile. The Duchess takes Bosola into her confidence, unaware that he is Ferdinand's spy, and arranges for him to deliver her jewellery to Antonio at his hiding-place in Ancona. She will join them later, while pretending to make a pilgrimage to a nearby town. The Cardinal hears of the plan, instructs Bosola to banish the two lovers, and sends soldiers to capture them. Antonio escapes with their eldest son, but the Duchess, her maid, and her two younger children are returned to Malfi and die at the hands of Bosola's executioners, who are under Ferdinand's orders. This experience, combined with a long-standing sense of injustice and lacking personal identity, leads Bosola to turn against the brothers, and he decides to take up the cause of "Revenge for the Duchess of Malfi" (V.2).
The Cardinal confesses his part in the killing of the Duchess to his mistress, Julia, then murders her with a poisoned Bible. Bosola overhears the Cardinal plotting to kill him (though he accepts that he would earn this punishment for his actions), and so visits the darkened chapel to kill the Cardinal at his prayers. Instead, he mistakenly kills Antonio, who has just returned to Malfi to attempt a reconciliation with the Cardinal. Bosola then stabs the Cardinal, who dies. In the brawl that follows, Ferdinand and Bosola stab each other to death.
Antonio's elder son by the Duchess appears in the final scene and takes his place as the heir to the Malfi fortune, which is controversial because there is reason to believe he isn't the actual eldest son of the Duchess. The play briefly mentions her previous son, who is the product of her previous marriage with her deceased husband, though some scholars believe this is just a textual error. The son's decision to take the fortune is done despite his father's explicit wish that he "fly the court of princes," a corrupt and increasingly deadly environment.