This is the story of the Battle of Thermopylae and the Spartans who made their final stand there against the Persians, as transcribed by historian Gobartes at the request of the Persian King Xerxes. Gobartes transcribes the story as dictated by Xeones (Xeo), a wounded Greek whom the Persians discovered on the battlefield. One evening the Greek prisoner is brought before King Xerxes personally. He explains that he can only tell the tale of an everyday soldier, and Xerxes replies that this is exactly the story he wants to hear. Xeo begins by explaining that, on the brink of death, he was rescued by the god Apollo and charged with telling the tale of Thermopylae.
Xeo explains that he was born in the city of Astakos, but just before his tenth birthday, he and his cousin, Diomache, were made homeless orphans by an attack on their city. The attack occurred early one morning as Xeo and Diomache were making the journey to the Astakos market. They soon learn that their parents have been killed and that the city has been destroyed. They find Bruxieus, Xeo’s family’s slave. After returning to the family farm to bury Xeo’s parents, Diomache is raped by Argive soldiers. The three of them flee to the mountains and spend months struggling for survival in the wilderness. Xeo hears stories of the Spartans and vows to someday live among them so that he can gain the ability to slay Argives in vengeance. One day, Xeo is caught stealing from some farmers and is cruelly nailed to a board.
At this point, Xeo is prompted to make a digression. Two years after he was orphaned, Xeo did live with the Spartans and witnessed the deadly beating of a young boy, Tripod. At this time, Xeo is a servant of Tripod’s friend, Alexandros. Alexandros’s mentor, Dienekes, comforts him after his friend’s death, praising Tripod’s nobility in the face of suffering. Xeo then returns to the story of his own suffering, when he screamed helplessly, showing no courage. Bruxieus later tries to comfort him, explaining that nobody can show courage when they’re alone and “cityless.” Nevertheless, Xeo despairs and goes off in the snow to die. But Apollo appears to him, assuring him that he has a purpose in life. Xeo, his cousin, and Bruxieus survive in the mountains for a few more seasons before a dying Bruxieus sends the children to Athens to assure they’ll have a properly civilized life.
Xeo jumps a few years into the future, when he is working as Alexandros’s sparring partner. He tells a story that conveys the brutality of the Spartan training regime. One night during a brutal drill, Polynikes angrily breaks Alexandros’s nose for a small breach of protocol. In the aftermath, Alexandros develops asthma which seems to be triggered by fear. Dienekes tries to help him master his fear, pushing Xeo to fight Alexandros as hard as he can, because he knows Alexandros will live a disgraced life if he can’t become a warrior.
Some time after this, Alexandros and Xeo follow the Spartans to a minor battle against another Greek city-state, Antirhion. In the course of their journey, they’re forced to swim across a huge strait. Their survival cements their friendship and hardens Alexandros’s courage. Both boys witness the Spartans in battle for the first time and see Leonidas’s brotherly leadership as he tells the Spartans that soon they will face a much greater foe: the Persians.
After they return to Sparta, Xeo is interrogated by Alexandros’s mother, Paraleia, as to her son’s behavior and courage during the journey. Afterward, Dienekes’s wife, Arete, befriends Xeo and asks him to keep an eye on her nephew, Rooster, who’s gained a reputation for treasonous sentiments. When Xeo asks, she assures him that his childhood vision of Apollo was real, and she becomes a maternal figure to him. A couple of days later, Rooster is assigned as squire to Alexandros’s father, Olympieus, and Xeo begins training under Suicide to eventually become Dienekes’s squire.
In the coming years, Xeo, Alexandros, and Rooster all marry and father children. After a failed confrontation at Tempe, the Spartans, goaded by their wives’ disdain, soon plan for a defense at Thermopylae. The news comes that a force of three hundred soldiers will be sent to fight to the death there. Because only men with sons are being chosen, Dienekes must stay at home.
That night, Rooster—who’s repeatedly proven himself a brave warrior and repeatedly turned down offers to become a “stepbrother” Spartan—tries to flee for sanctuary, knowing he’s likely to be apprehended as a traitor. Sure enough, some krypteia assassins soon arrest Rooster and his family. Before he can be executed, Arete and Alexandros intervene to spare his life. In the process, it’s revealed that Rooster’s son is actually Dienekes’s son. This means that Dienekes can go to Thermopylae, after all.
Three days before the march-out to Thermopylae, Dienekes takes his platoon on a hunt. He speaks honestly to his youthful warriors about his fear, and they speculate that women actually possess greater andreia, or valor, than men do. Later, Dienekes reveals that this was Leonidas’s motive in selecting the Three Hundred—he chose those whose wives, mothers, sisters, and daughters would stand firm after their loved ones’ deaths, inspiring all of Greece to resist and prevail in time.
The Three Hundred—along with their squires, helots, and allies—march into Thermopylae, set up camp, and prepare for battle. They reject an embassy from the Persian camp, urging the Spartans to betray their allies and become vassals of Persia. The battle begins only after Xerxes has made himself comfortable in an elaborate mountaintop throne from which he can view the fighting. Soon, a battle of unprecedented ferocity begins. Though the Spartans are vastly outnumbered, they use their discipline and sheltered position to advantage and press back the Persian advance.
That night, as Xeo tends to his injured master, he tells Dienekes what finally happened between him and Diomache. Some time ago, he tracked down Diomache at the sanctuary of Persephone in Athens. He was grieved to find his cousin, who’d supposedly married well, haggard from years of suffering. She consoles Xeo when he wants to whisk her away—they’re each living out the course set for them by the gods, she says.
Early the next morning, Rooster is apprehended with information from the Persian camp. He warns Xeo that the Persians will envelop the Spartans from behind. He also tells him exactly how to infiltrate the Persian camp and get access to Xerxes’ tent. A deserting Persian prince corroborates this information, but the Spartans, encouraged by omens they interpret in their own favor, suppose it’s a trick.
Though Leonidas refuses to pull out from Thermopylae, he spares some of his best warriors, including Xeo, Rooster, Dienekes, and Alexandros, to attempt to raid Xerxes’ tent. The raid is disastrous, and Alexandros is killed, to Dienekes’s overwhelming grief. When they bury Alexandros, Polynikes says that he was “the best of us all.”
The Persians have indeed been spotted to the Spartan rear, and Leonidas is preparing the troops for a last stand. Rooster is released, and Xeo, as a non-Spartan squire, is also permitted to evacuate. However, he refuses, since Sparta is now his city. Many other allies, helots, and squires stay as well. Leonidas speaks to the remaining men and explains that it’s their job to stand and die, inspiring the rest of Greece to complete the victory. If they retreat to spare their own lives, Greece, too, will fall. Xeo reflects that Leonidas is a king who “by his conduct and example makes [people] free”—in contrast to Xerxes, who does not fight alongside his men and who enslaves rather than liberates.
As they make their last stand, the Spartans are annihilated by the vastly more numerous Persians. Xeo, too, is mortally wounded.
The day Xeo finishes his tale, as it happens, the Greek naval forces have just defeated the Persian navy, paving the way for a total Greek victory over further Persian attempts. Xeo, whose health has declined, soon dies. Xeo’s body is sent to the sanctuary of Persephone for safekeeping. Later, Diomache bears Xeo’s ashes to Thermopylae and honors him there.