När den andra persiska invasionen av Grekland började 481 f.Kr. valdes Leonidas att leda de kombinerade grekiska styrkorna, både på grund av spartanernas rykte som en överlägsen militär kungariket, och på grund av sin egen skicklighet som general. Det sägs att kungen besökte Oraklet i Delfi, som rådfrågades om viktiga statliga frågor i hela det antika Grekland, och Oraklet levererade en stor vers som i huvudsak berättade för honom att han måste avskaffa sitt liv för att förhindra att hans kungarike blir ödelagt av Persien.
I augusti 480 f.Kr. marscherade Leonidas ut för att möta den persiska kung Xerxes armé vid Thermopylae, en smal kustpassage som låg på persernas väg inåt landet. Han hade med sig bara 300 elitspartanska soldater och 900 slavar, till vilka han lade till när han marscherade längs land genom andra stadstater och slutade med en total armé på mellan 4000 och 7000 man. Olika förklaringar har framförts varför styrkan var så liten; Herodotus teoretiserade att spartanerna marscherade rakt ut så att de sågs visa ingen rädsla, med förväntan att en större armé skulle samlas och skulle följa strax efter, men moderna historiker tror interna stridigheter eller till och med det faktum att de olympiska spelen hölls vid den tiden kunde ha varit att skylla.
Den persiska armén de mötte var stort i antal. Herodotus uppskattning av två miljoner män har sedan dess avskedats, men siffran var minst 70 000 och möjligen upp till 300 000. En fyra dagars dödläge följde, sedan attackerade perserna den femte dagen. Under två dagar höll grekerna tillbaka perserna och dödade cirka 10 000 av deras män, inklusive två av kung Xerxes bröder. På den sjunde dagen kontaktade en förrädare vid namn Ephialtes den persiska generalen Hydarnes och visade honom en dold väg som han kunde gå för att komma bakom grekerna. Med tanke på att han nu överflankerade skickade Leonidas bort alla grekiska trupper och valde att förbli i passet med sina 300 spartaner och slavar, 400 Thebans och 700 Thespians.
Herodot skrev att Leonidas skickade männen bort till se till att de skulle leva för att kämpa en annan dag och vara användbara i en framtida kamp mot perserna, och spartanerna stannade både för att skydda grekernas flykt och för att de aldrig kunde överge sin position på slagfältet. Thespianerna skulle ha skickats bort med de andra grekerna, men stannade kvar av egen vilja.
Xerxes erbjöd sig att spara spartanernas liv om de gav upp sina vapen, vilket Leonidas svarade ” ΜΟΛΩΝ ΛΑΒΕ ”(kom och ta dem). Männen kämpade sedan med en bitter sista ställning mot perserna, och alla dödades utom de 400 Thebanerna, som övergav sig till perserna utan en kamp. Efter Leonidas dödades kämpade spartanerna för att hämta hans kropp och hindra perserna från att vanhelga den. Leonidas var ungefär 60 år gammal vid tiden för sin död, och han efterträddes av sin son, Pleistarchus.