A prologue announces that the play is set during the Trojan War. Troilus, a Trojan prince, wishes to marry Cressida, a Trojan noble whose father, Calchas, has defected to the Greeks. Troilus woos Cressida with the help of a go-between, Cressida's uncle Pandarus. At the play's beginning, this suit does not seem to be going well; however, Cressida secretly loves Troilus in return.
Meanwhile, the Greek camp is in crisis. Achilles, their greatest warrior, has openly defied the leaders of the Greek cause (Agamemnon, Nestor, and Ulysses), and refuses to fight. Instead he sits in his tent with his lover, Patroclus, and puts on impromptu plays ridiculing the Greek leadership. A doltish new warrior, Ajax, has recently arrived, and Ulysses plots to elevate Ajax in order to make Achilles jealous, thereby enticing the great fighter back onto the battlefield. A challenge from the Trojan champion Hector provides Ulysses with his opportunity; he arranges things so that Ajax will fight Hector, and thereby win the glory that Achilles so values.
Back in the Trojan camp, Pandarus has made speedy progress with his efforts to get Troilus and Cressida together. Though the two lovers are somewhat shy, they spend a night together in Pandarus' house. Unfortunately, that very night Calchas arranges to have his daughter brought to the Greek camp in exchange for a Trojan prisoner. The morning after her tryst with Troilus, Cressida is taken to the Greeks, though not before promising to remain true to Troilus. The Greeks pass her around for kisses when she enters the camp.
Ajax's approaching battle with Hector has greatly inflated his already formidable ego, and Achilles has indeed grown jealous. Ulysses exacerbates Achilles' jealousy with his eloquence. The challenge between Hector and Ajax is cut short when Hector declares that he does not wish to fight Ajax, as Ajax is half-Trojan. On this note of chivalry, the Greeks and Trojans feast together. In the course of this feast the two great warriors, Hector and Achilles, trade words and swear to meet each other in battle the next day. Troilus arranges for Ulysses to take him to Calchas' tent after the feast, where he hopes to see Cressida. Upon arriving at Cressida's tent, however, Troilus is mortified to discover her flirting with and kissing a Greek, Diomedes. She promises to meet Diomedes later in the night, obviously intending to sleep with him. Troilus is devastated by Cressida's betrayal and vows to kill Diomedes in the next day's battle.
Despite the misgivings of Andromache and Cassandra, Hector and Troilus enter the battle. Troilus meets Diomedes on the field, though he doesn't kill him. The battle goes well for the Trojans at first. Soon, however, Patroclus is killed, and Achilles arranges to slaughter Hector; he surrounds the unarmed Trojan with his soldiers and massacres him, then drags the body through the fields behind his horse. Seeing this, Troilus swears to dedicate his strength to destroying Achilles and the Greeks. The play ends with a speech from Pandarus, who begs us to pity his misfortune in having brought untrue lovers together.