Het treffen vond plaats bij een smalle bergpas bij het plaatsje Thermopylae.
Ondanks hun geringe aantal, richtten de goed getrainde en zwaar bewapende Spartanen een bloedbad aan onder de Persen. Drie dagen lang hield Leonidas stand. Door verraad door een Griekse boer wisten de Perzen via kleine bergpaadjes achter de linies te komen. Leonidas besloot echter, met zijn 300 Spartanen, de bergpas te blijven verdedigen. De overige soldaten stuurde hij terug naar de Griekse steden om die te verdedigen.