Мнения союзников разделились. Большинство, подчиняясь воле обстоятельств, отправились по своим городам. Остались только триста спартанцев царя Леонида, семьсот феспийцев под командованием Демофила, сына Диадрома, и четыреста фиванцев под начальством Леонтиада, сына Евримаха. Численность воинов в отрядах указана на начало сражения, но за два дня боев греки понесли ощутимые потери. Феспии и Фивы – города в Беотии, через которую неизбежно должен был пролегать путь персидского войска, так что отряды этих городов защищали в Фермопилах родную землю. Геродот писал свой исторический труд в пору вражды Фив с Афинами, поэтому он не упускает случая выставить фиванцев предателями Эллады и сообщает, что фиванский отряд был удержан Леонидом против их воли в качестве заложников. Но эта версия Геродота опровергается как судьбой отряда, так и самой логикой войны.
Рассчитывая не на победу, но лишь на славную смерть, оставшиеся греки приняли бой в отдалении от прежнего места, там, где проход расширяется. Однако, даже там персы не могли развернуться и погибали массами в давке или будучи сброшенными с обрывистого берега. У спартанцев копья были сломаны, они разили врагов короткими спартанскими мечами в тесной рукопашной. В бою пал Леонид, у персов погибли Аброком и Гиперанф, братья царя Ксеркса. Заметив приближение с тыла персидского отряда, ведомого Эфиальтом, греки отступили к стене, а затем, миновав ее, заняли позицию на холме у выхода из Фермопил. По словам Геродота, во время отступления фиванцы отделились и сдались в плен: таким образом, они спасли свои жизни ценой клеймения в рабство.
Спартанцы и феспийцы приняли последний бой. Персы расстреливали последних героев из луков, забрасывали их камнями. По сведениям Геродота, при этом отличились доблестью спартанцы Диенек, братья Алфей и Марон, феспиец Дифирамб.
Из трехсот спартанцев в живых остался лишь Аристодем, который из-за болезни был оставлен Леонидом в селении Альпены. По возвращении в Спарту Аристодема ожидало бесчестие и позор. Никто не разговаривал с ним, ему дали прозвание Аристодем-Трус. Впоследствии Аристодем искупил несуществующую вину своей героической гибелью в битве при Платеях. По слухам, в живых остался еще один спартанец, по имени Пантит, отправленный гонцом в Фессалию. По возвращении в Лакедемон (область, где находилась Спарта) его также ожидало бесчестие, и он повесился.