在萬事俱備之后,雙方海軍開始進(jìn)入對峙狀態(tài)。最開始,波斯派出200 艘腓尼基艦隊繞過優(yōu)卑亞島,想南北夾擊敵艦。不過天公不作美,在腓尼基艦隊行至該島東南海面時遭到風(fēng)暴,全軍覆滅。希臘聯(lián)軍獲悉此消息后喜上眉梢,立刻率戰(zhàn)艦進(jìn)攻。波斯看見為數(shù)不多的希臘戰(zhàn)艦向自己發(fā)起攻擊,還以為他們瘋了,認(rèn)為取勝就如探囊取物。殊不知希臘戰(zhàn)艦早就成竹在胸,他們列陣從四面八方包圍了敵人。激戰(zhàn)至傍晚,雙方才鳴鑼收兵。而當(dāng)日希臘戰(zhàn)果頗豐,俘獲了30艘波斯戰(zhàn)艦。
兩軍在海上酣戰(zhàn)之時,陸上的戰(zhàn)斗也甚為激烈。波斯大軍抵達(dá)溫泉關(guān)后,原是想以其軍容威懾敵方,好叫希臘不戰(zhàn)而敗。但4天過去了,希臘守軍毫無退縮之意,仍嚴(yán)陣以待。最后,薛西斯下令波斯大軍開始進(jìn)攻。開始,溫泉關(guān)易守難攻的優(yōu)勢得以發(fā)揮,讓波斯大軍毫無進(jìn)展。然而,就在薛西斯無計可施之時,一個希臘叛徒為敵軍指點了另一條隱秘的通道。如此一來,波斯大軍分兩隊分頭夾擊希臘守軍。溫泉關(guān)守勢被破,李奧尼達(dá)唯有下令讓大部分聯(lián)軍撤離。而他自己則親率不到兩千兵力為大部隊斷后,與波斯大軍展開了激烈的戰(zhàn)斗。激戰(zhàn)中,李奧尼達(dá)陣亡。而希臘人為了爭奪他的尸體,與敵方展開4 次攻殺。戰(zhàn)至最后,希臘斷后的守軍全部陣亡。波斯大軍雖奪得了溫泉關(guān),但卻為此付出了相當(dāng)慘重的代價。希臘海軍得知溫泉關(guān)的敗訊后,覺得在優(yōu)卑亞島已無再戰(zhàn)必要,遂回守薩拉米灣。
溫泉關(guān)得手后,波斯大軍立即揮軍阿提卡。面對大兵壓境,希臘聯(lián)軍決定放棄阿提卡,退至科林斯地峽筑壘防御。至于海軍,有人主張放棄薩拉米灣,有人則主張在薩拉米灣決戰(zhàn)。事實上,以地理位置而言,在海域狹窄的薩拉米灣與波斯海軍開戰(zhàn),希臘海軍的勝算更大些。而最終,希臘聯(lián)軍統(tǒng)帥也同意在薩拉米灣與波斯大軍決一雌雄。
當(dāng)戰(zhàn)斗號角吹響,人們發(fā)現(xiàn),狹窄的水域果然讓戰(zhàn)艦數(shù)量龐大的波斯海軍秩序混亂。反觀希臘海軍這邊,戰(zhàn)艦雖然數(shù)量不多,卻井然有序。到雙方交鋒后,雅典戰(zhàn)艦的"堅且快"的優(yōu)勢盡顯,而波斯戰(zhàn)艦不是被其撞斷槳,就是在沖撞后無法操縱。一時間,波斯戰(zhàn)艦損傷甚多。沖在最前面與希臘海軍交戰(zhàn)的波斯戰(zhàn)艦見勢不妙意欲后退,但后面的船不知所以卻要拼命向前沖。結(jié)果一前一后撞在一起,波斯海軍亂成一團(tuán)。大半天的激戰(zhàn)后,波斯海軍敗退,在沿途還不斷遭到希臘聯(lián)軍的伏擊。
波斯海軍慘敗的消息傳到薛西斯耳朵里,他簡直不敢相信。薛西斯深恐希臘海軍會乘勝追擊,斷了自己回波斯的道,于是他趕緊率大部隊回朝,僅留瑪爾多紐斯率部分陸軍退守希臘北部,以期卷土重來。返程途中,薛西斯清點戰(zhàn)艦,發(fā)現(xiàn)此番損失300余艘戰(zhàn)艦,心痛不已。