敵壓境前夕,希臘本土諸邦集合於科林斯,決定消弭內戰,共御侵略,訂立了反波斯的軍事同盟,盟主是原已存在的拉凱戴孟同盟盟主的斯巴達。但是,本土諸邦雖然多數參加了同盟,抗戰堅決的,主要是雅典和斯巴達為首的拉凱戴孟同盟諸邦,北部中部諸邦態度曖昧。拉凱戴孟諸邦地處伯羅奔尼撒(Peloponnese)半島,波斯軍從陸上進入半島,有科林斯地峽天險可資防守,而且拉凱戴盂同盟成立以來已將近300年間,半島內部長期沒有內戰,同盟的陸軍兵力是希臘首屈一指的,對抗擊波斯的勝利具有信心。不過即使如此,伯羅奔尼撒本島上還有斯巴達的宿敵阿爾哥斯,它在戰爭中通波斯,守中立,沒有參加科林斯同盟。倘使希臘人不首先消滅波斯艦隊,波斯軍可以在地峽以南守軍後方登陸,伯羅奔尼撒的優越戰略防禦地位也就失去作用了。這樣,海戰在戰爭中就起了決定作用。希臘人唯有海戰勝利,掌握制海權,戰略上才有把握以伯羅奔尼撒和科林斯地峽天險為最後的基地,抗擊波斯陸軍。
在這樣的戰略形勢面前,透過希臘內部的種種矛盾,和一些領袖人物所起的作用,戰爭經歷了以下諸階段:
甲,波斯軍長驅直入階段。希臘軍原擬在特薩利亞的騰皮谷及其附近海面阻擊波斯陸軍及海軍(當時的海軍都靠岸航行,並必須和陸軍取得聯絡),以拉凱戴孟同盟軍為主力的希臘聯軍已開到此地,希臘艦隊也開進附近海面,但因特薩利亞當政貴族態度暖昧:不利決戰,再度退卻,決定在希臘中部溫泉關及其附近海上的阿提密西安(Artemisium)海角,以陸海兩軍阻擊波斯軍。溫泉關戰役中,斯巴達王李奧尼達所率陸軍300人憑天險抗擊波斯大軍,全軍壯烈犧牲。海軍在阿提密西安獲得勝利。不過波斯艦隊雖受重創,仍佔優勢。
乙,薩拉米(Salamis)海戰扭轉戰爭局勢。溫泉關及阿提密西安戰役後,希臘軍繼續退卻。此時希臘北部中部諸邦全部附敵,波斯軍陷阿提卡,雅典全民登船避居薩拉米、埃吉納兩島和南面伯羅奔尼撒半島上的特洛溱(Trozen),雅典城被焚燬。希臘諸邦聯合艦隊,以雅典船艦為主力,在薩拉米島海面上迎擊波斯艦隊,打了一場海軍的決戰,史稱薩拉米海戰,獲得全勝。波斯艦隊大部被殲,殘餘船艦返航小亞細亞,制海權落入希臘軍手中。
丙,波斯軍退卻和希臘軍追擊的階段。薩拉米海戰後,率軍親征的波斯大帝恐懼失卻制海權後無法渡過海峽返回小亞細亞,於是除留一軍在彼奧提亞繼續與希臘軍對峙而外,全軍後撤。波斯軍是一支人數巨大,成分龐雜的波斯統治下形形色色的民族組成的隊伍。按希羅多德誇大的估計,戰鬥部隊達170萬人,連同各色各樣的隨軍人員,總計達500多萬人。這當然是不可能的。但是,即使把這個數目降為50萬人,這還是一支數目大,成分雜的軍隊。這樣一支軍隊,深入敵國,現在倉皇后撤,可以設想無法保持有組織的後勤供應,它會造成異乎尋常的混亂是勢所必然的。後撤軍隊究竟有多少返達小亞細亞,難於推測。薛西斯及其行宮,當然是安然返回了。
薛西斯所留與希臘軍對峙的一軍是全軍主力,有堅強的領導。這支軍隊在公元前480年冬季退入彼奧提亞過冬,翌年再陷阿提卡,力圖誘迫雅典單獨媾和。幾經曲折,拉凱戴孟全軍出地峽和雅典軍會和,公元前479年春,在著名的布拉的(Plataea,阿提卡和彼奧提亞邊境)戰役中,希臘軍獲得全勝,波斯殿後軍全軍被殲。
與此同時,希臘聯合艦隊追擊波斯艦隊殘餘於小亞細亞海濱的密卡爾(Mycale),波斯艦船全數被焚燬。
布拉的戰役希臘軍統帥為斯巴達王波桑尼阿斯(Pausanias)其中雅典軍由亞里斯特底斯(Aristades)指揮。密卡爾戰役,聯合艦隊統帥為斯巴達王利俄提基德(Leotychides),其中雅典艦隊由桑西巴斯(Xanthippus,伯裡克理斯的父親)指揮。在此以前,亞里斯特底斯和桑西巴斯兩人都曾按陶片放逐法放逐海外,大戰前夕,雅典人決定流放的人一律准許回國,得以建立戰功。
公元前479年,希臘本土全境解放。
小亞細亞及愛琴海上希臘諸邦的解放
布拉的戰役以後,下一個階段是小亞細亞及愛琴海上希臘諸邦的解放。
現在戰爭的主動權始終操在希臘人手裡,公元前479年密卡爾戰役後,小亞細亞西面愛琴海上四個大島,累斯博斯、基俄斯、塞莫斯、羅陀斯自然而然獲得瞭解放。希臘