Spartan customs are harsh. The Spartans inspect each infant born to ensure it is whole - if it is deformed, the baby is abandoned to die. They raise their boys in the school of hard knocks, the agoge
- in combat training, a small boy's loss of his weapon earns a bloody lip from the hand of his own father. At age 7, each young boy is torn from his mother and makes his own way in the wilderness, to return a man. Even the King endures this rite of passage. At age 15, young King-to-be Leonidas (Tyler Neitzel
) lures a wolf into a narrow passage so that he can kill it. He returns home to be crowned King.
Years later, messengers visit King Leonidas (Gerard Butler
) requesting Sparta's submission to King Xerxes (Rodrigo Santoro
). Insulted by their attitude, King Leonidas kicks the messengers into a well. Acknowledging the threat of Xerxes's invasion force, he visits the Ephors (priests) to obtain their favour before sending the Spartan army in battle. He proposes to repel the numerically superior enemy by using the terrain of the Hot Gates of Thermopylae, funneling the Persians into a narrow pass between the rocks and the sea, where their immense numbers will "count for nothing." The Ephors, wary of the plan, consult the Oracle (Kelly Craig
). In her drugged trance she decrees that Sparta must not go to war, lest they interrupt the sacred Carneian festival. Leonidas departs in anger, and the priests receive their bribe of Xerxes' gold from the Spartan traitor, Theron (Dominic West
), for their negative response.
Leonidas is reluctant to defy the corrupt clergy outright, but his wife (Lena Headey
) encourages him to think outside the box. Leonidas elects to take 300 of his best soldiers as his "bodyguard" on a leisurely walk to the strategic Hot Gates location. His wife says goodbye, telling him to come back "with his shield or on it", and gives him a necklace.
On the road they meet some allies, who are shocked that the Spartans are sending such a small force. Leonidas asks the professions of the allied army, who are craftsmen and artisans. He points out that he has brought more soldiers than they. Joined by Arcadians and other Greeks, they arrive at Thermopylae. In sight of the approaching Persian army, they construct a wall to contain the Persians' advance. Strong storms destroy some of Xerxes fleet, but it is only a small percentage of the massive army they will face.
A horribly disfigured man, Ephialtes (Andrew Tiernan
), comes to see Leonidas to warn him of a disused goat path at the rear of his position. Ephialtes claims that his parents fled Sparta at his birth to save his life. He hopes to redeem them by fighting for Leonidas. Leonidas explains that each Spartan warrior is a key part of the phalanx, and asks Ephialtes to show that he can lift his shield high enough to properly defend his fellow warriors. When it becomes evident that he cannot, Leonidas gently tells him to care for the fallen instead. Ephialtes' fondest hopes are crushed.
A Persian emissary arrives, and finds that the corpses of the previous scouting party now make up part of the large rock wall. The Persian states that their arrows will blot out the sun, and the Spartans agree they will simply fight in the shade. The emissary's party is killed.
Prior to the battle the Persians demand that the Spartans drop their arms and surrender. Leonidas refuses and challenges the Persians to come and take their weapons from them. With their tightly-knit phalanx formation, the Spartans funnel the Persians into the narrow terrain, repeatedly rebuffing them and inflicting heavy casualties.
Xerxes, impressed with Spartan fighting skill, personally approaches Leonidas to persuade him to surrender. He promises Leonidas wealth and power in exchange for his loyalty. Leonidas declines, promising instead to make the "God King" bleed, and turns to rejoin his army.
Dismayed at the refusal, Xerxes sends his masked personal guard, "The Immortals", which name the Spartans also prove false. The battles continue, with the Spartans prevailing over soldiers and animals drawn from the vast reaches of the Persian empire: from Mongolian barbarians and Eastern chemists to African rhinoceroses and Indian war elephants. However, some of the brave Spartan warriors are killed, and it becomes clear that more will follow.
Ephialtes goes to Xerxes, and agrees to show the goat path to the Persians in exchange for a uniform, along with promises of women and wealth. Xerxes will grant Ephialtes his wish if he will kneel before the god king.
Back in Sparta, Queen Gorgo has been trying to convince the council to send help to Leonidas. A friendly councilman arranges for her to speak, but explains that she will need Theron on her side. Theron agrees to help her if she will sleep with him - so she does.
At the Hot Gates, the Spartans learn they have been betrayed, and know their fight is doomed. The Arcadians retreat in the face of certain death. The Spartans refuse to follow. Leonidas orders a reluctant Dilios to return to Sparta and tell of their inevitable deaths.
In Sparta, Queen Gorgo makes her appeal to the council. Instead of supporting her as promised, Theron betrays her, accusing her of adultery. Enraged, Gorgo snatches a sword and stabs Theron, rupturing a bag of gold hidden in his robe. As the coins stamped with Persian markings spill onto the ground, the Council realizes Theron's treachery and agree to unite against Persia.
At the Hot Gates, as the Persians surround the Spartans, who have created a dome out of their shields. Leonidas stands along in front of the dome. Xerxes's general demands their surrender, declaring that Leonidas may keep his title as King of Sparta and become Warlord of all Greece, answerable only to Xerxes. Ephialtes urges this as well, to which Leonidas remarks, "May you live forever," an insult from a culture valuing death and valor in battle. Leonidas drops his shield and removes his helmet, seemingly bowing in submission. Stelios then bursts out of the dome and leaps over his king and kills the general. A furious Xerxes orders his troops to attack. As Persian archers shoot the remaining Spartans, Leonidas rises and hurls his spear at Xerxes, ripping open his cheek, thus making "the God-King bleed." Xerxes, visibly shaken by this reminder of his own mortality, watches as the remaining Spartans perish beneath the combined might of his army. Leonidas himself marks his final moments by telling his wife aloud that he loves her. A rain of arrows falls upon him and the screen goes black. Back in Sparta, Dilios gives the necklace to Queen Gorgo and tells her of her husband's fate.
Concluding his tale before an audience of attentive Spartans, Dilios declares that the 120,000-strong Persian army that narrowly defeated 300 Spartans now faces 10,000 Spartans commanding 30,000 Greeks. Praising Leonidas's sacrifice, Dilios leads the assembled Greek army into a fierce charge against the Persian army, igniting the Battle of Plataea.