公元前480年6月,波斯軍隊占領了希臘的狄薩利亞之後,繼續向南進發,一路跋山涉水,兵勢如虹,在溫泉關北面駐紮下來。
溫泉關地勢險要,歷來是兵家必爭之地。它的東面是一片茫茫的沼澤地,一直通向海邊,西邊是陡峭的高山,插翅難飛。真是“一夫當關,萬夫莫開”,素有中希臘“鑰匙”之稱,具有重有的軍事地位。
這時希臘人正在舉行奧林匹克運動會,而在希臘,奧林匹克高於一切,運動會期間是禁止打仗的。因此,希臘人在關上布置的兵力只有幾千人。當波斯人臨近的時候,斯巴達國王列奧尼達僅帶了300人來增援。他將6000名戰士部署在溫泉關一線,1000名戰士部署在溫泉關後面的小道,以防波斯人從背後偷襲。
薛西斯寫信給列奧尼達,說波斯軍隊多得很,射出去的箭遮天蔽日,企圖嚇倒希臘人。斯巴達人哈哈大笑說:“那真是太好了,我們可以在蔭涼地里殺個痛快了!”
過了兩天,薛西斯又派人去打探希臘人的動靜,回報說希臘人把武器堆在一邊,有的梳頭、有的做操,絲毫沒有打仗的樣子。薛西斯大為奇怪,問詢知情者後方知,戰前梳頭是斯巴達人的習慣,意味著將要玩命血戰。薛西斯又耐心地等了四天,見守關的希臘人沒有絲毫投降的樣子,便下了命令,用武力活捉這些不知好歹的希臘人。
薛西斯下令進攻,波斯人一擁而上,士兵亢奮、狂怒的喊殺聲,刀槍猛烈的撞擊聲,相互夾雜在一起,迴蕩在溫泉關上空。但波斯軍隊的數次進攻都被希臘守軍擊退,希臘守軍藉助有利的地形,使波斯士兵的屍體壘滿了關前。
波斯人整整打了一天,所有的衝鋒都被打退了。薛西斯更加惱怒,他命令把最精銳的波斯軍調上去,然後,他便坐在高坡上的王座上,準備親眼看著自己勝利的到來。
但這場發生在狹窄山溝里的激戰,波斯軍隊數量上的優勢根本發揮不出來。他們只能與斯巴達人進行一對一的廝殺。結果,一個個的波斯兵慘死在敵人的手下。
看著自己的軍隊無法取勝,薛西斯氣得暴跳如雷,眼見太陽落山,他只得下令收兵,準備明天再戰。
第二天,悍猛的波斯軍隊又發動了數次衝鋒,但結果同前一天一樣,只是使溫泉關前多增加了一些波斯士兵的屍體而已。正當薛西斯一籌莫展的時候,一個希臘叛徒前來求見,獻計經小路從背後包抄關上守軍。波斯王聞言大喜,馬上命令“長生隊”星夜兼程,順著那條小路,直撲希臘軍營,以圖使溫泉關守軍腹背受敵。
由於防守小路的希臘人連續幾天沒有戰鬥,所以都放鬆了警惕,直到黎明時波斯人的腳步聲才將他們吵醒。希臘人慌忙拿起武器抵抗,但由於寡不敵眾,被迫撤走。波斯人也不追趕,而是趕往溫泉關,夾擊斯巴達人。