Before the play begins, the Viceroy of Portugal has rebelled against Spanish rule. A battle has taken place in which the Portuguese were defeated and their leader, the Viceroy's son Balthazar, captured; but the Spanish officer Andrea has been killed by none other than the captured Balthazar. His ghost and the spirit of Revenge (present onstage throughout the entirety of the play) serve as chorus and, at the beginning of each act, Andrea bemoans the series of injustices that take place before being reassured by Revenge that those deserving will get their comeuppance. There is a subplot concerning the enmity of two Portuguese noblemen, one of whom attempts to convince the Viceroy that his rival has murdered the missing Balthazar.
The King's nephew Lorenzo and Andrea's best friend Horatio dispute over who captured Balthazar, and though it is made clear early on that it is in fact Horatio that defeated him while Lorenzo essentially cheats his way into taking partial credit, the King leaves Balthazar in Lorenzo's charge and splits the spoils of the victory between the two. Horatio comforts Lorenzo's sister, Bel-imperia, who was in love with Andrea against her family's wishes; despite her former feelings for Andrea, Bel-imperia soon falls for Horatio. Her courtship with Horatio is motivated partially by her desire for revenge. Bel-imperia intends to torment an amorous Balthazar, the killer of her former lover.
As Balthazar is in love with Bel-imperia, the royal family concludes that their marriage would be an excellent way to repair the peace with Portugal. Horatio's father, the Marshal Hieronimo, stages an entertainment for the Portuguese ambassador; Lorenzo, suspecting that Bel-Imperia has found a new lover, bribes her servant Pedringano and discovers that Horatio is the man. He persuades Balthazar to help him murder Horatio during an assignation with Bel-Imperia; Hieronimo and his wife Isabella find the body of their son hanged and stabbed, and Isabella is driven mad. Revisions made to the original play supplement the scene with Hieronimo briefly losing his wits as well.
Lorenzo locks Bel-Imperia away, but she succeeds in sending Hieronimo a letter, written in her own blood, informing him that Lorenzo and Balthazar were Horatio's murderers. His questions and attempts to see Bel-Imperia convince Lorenzo that he knows something; afraid that Balthazar's servant Serberine has betrayed the plot, Lorenzo convinces Pedringano to murder him, then arranges for Pedringano's arrest in the hopes of silencing him too. Hieronimo, appointed judge, sentences Pedringano to death; Pedringano expects Lorenzo to procure his pardon, and Lorenzo, having written a fake letter of pardon, lets him believe this right up until the hangman drops Pedringano to his death.
Lorenzo manages to prevent Hieronimo from seeking justice by convincing the King that Horatio is alive and well. Furthermore, Lorenzo does not allow Hieronimo to see the King, claiming that he is too busy. This, combined with his wife's suicide, which happens just prior to Hieronimo's appeal to the King, pushes Hieronimo past his limit. He rants incoherently and digs at the ground with his dagger. Lorenzo goes on to tell his uncle, the King, that Hieronimo's odd behaviour is due to his inability to deal with his son Horatio's newfound wealth (Balthazar's ransom from the Portuguese Viceroy), and he has gone mad with jealousy. Regaining his senses, Hieronimo, along with Bel-Imperia, feigns reconciliation with the murderers. The two plan to put on a play together, Soliman and Perseda. Under cover of the play they stab Lorenzo and Balthazar to death in front of the King, Viceroy, and Duke of Castile (Lorenzo and Bel-Imperia's father); Bel-Imperia kills herself, and Hieronimo tells his audience of his motive behind the murders, but refuses to reveal Bel-Imperia's complicity in the plot. He then bites out his own tongue to prevent himself from talking under torture, after which he kills the Duke and then himself. Andrea and Revenge are satisfied, delivering suitable eternal punishments to the guilty parties.