戰爭的第一階段(公元前492~前479年),公元前492年,波斯派海陸大軍沿色雷斯海岸向希臘進軍。水路在阿陀斯海角遭風暴覆滅,陸軍受色雷斯人的襲擊,第一次遠征失敗。
公元前490年,波斯發動了第二次遠征,從小亞細亞橫渡愛琴海,攻占愛勒特裏亞,繼而南進,直攻中希臘的阿提卡半島,在距雅典城東北40多千米的馬拉鬆平原登陸。在這萬分危急的形勢下,雅典動員了所有公民,甚至把奴隸也編入軍隊,此外還得到小城布拉底千名援兵,共萬餘人,麵對傳說的10萬波斯軍,由米太雅得率軍應戰。雅典軍隊占據有利地形,列長方陣,以主力集中於兩翼。兩軍戰鬥時,雅典中軍後撤,而兩翼則突破波軍的弓箭射擊,致使波斯軍陣容大亂,雅典軍隊乘勝追擊,波斯終於失敗。馬拉鬆戰役成為古代戰爭史上以少勝多的範例之一,這一勝利有力地鼓舞了希臘人勝利的信心。此役勝後,米太雅得派一名善於長跑的士兵斐迪皮德回雅典城報捷,斐迪皮德抵城後,隻說了“我們勝利了”一語,就因跑得太急而死去。後世為紀念此事,舉行馬拉鬆賽跑。
此後10年雙方緊張備戰。公元前480年,波斯動員了更多的兵力,第三次遠征希臘。波斯軍渡赫勒斯滂海峽後,分水陸兩路進攻。希臘聯軍推選斯巴達國王為統帥,陸軍以斯巴達為主力,海軍以雅典為主力,與波斯軍決戰。當波斯軍占領了北希臘向中希臘進發時,斯巴達國王李奧尼達率三百斯巴達戰士扼守溫泉關(德摩比利),英勇抗戰,後因叛徒投敵,被波斯軍包抄,眾寡懸殊,除因故不在戰場的兩人外,全部陣亡,表現了高度的愛國主義精神。溫泉關失守後,波斯軍南下直驅阿提卡,攻占了居民事先已全部撤離的雅典城。這時,以雅典艦隊為主力的希臘海軍,對比了敵我情況,選擇了狹窄的薩拉米海灣作為戰場,用計引誘波斯艦隊開入海灣。多於希臘3~4倍體大的波斯戰艦運轉不靈,希臘人遂掌握了戰場的主動權。在小巧玲瓏的希臘艦隻的猛烈攻擊下,波斯艦隻不是自相撞沉,就是擱淺在沙灘上,幾乎被希臘海軍全部殲滅。波斯的陸軍主力也退回北希臘。次年,希臘聯軍又擊敗了留駐的波斯陸軍,繼而又在小亞細亞的米卡爾海角擊敗了波斯的海軍。第一階段的戰爭遂以波斯的失敗而告終。
戰爭的第二階段(公元前479~前449年),希臘已失去自衛性質,而轉化為雙方爭奪愛琴海霸權的戰爭。波斯軍被逐出巴爾幹半島後,公元前478年,雅典向黑海海峽進攻,占領赫勒斯滂北岸的要塞塞斯托斯,又與愛琴海各島和小亞細亞各邦組成海上同盟。雅典陸軍在小亞細亞的歐律墨冬河口附近大敗波斯軍,海軍在地中海塞浦路斯島東海岸也大敗波斯軍,波斯已無力再戰。公元前449年,雅典派全權代表卡裏阿斯簽訂了和約,波斯放棄對愛琴海和黑海一帶的統治,承認小亞細亞西岸希臘諸邦的政治獨立。雅典從此成為愛琴海上的霸主,希波戰爭結束。
希波戰爭是小國聯合起來打敗大國的範例。在主要的第一階段戰爭裏,希臘人之所以取勝,原因在於他們進行的是正義的自衛戰爭,有一支士氣高昂的軍隊,加上戰略戰術上也較為機動靈活。波斯之所以失敗,因為他們進行的是非正義的侵略戰爭,他們的軍隊無鬥誌,勞師遠征,不熟地形,補給困難,加上指揮不當,波斯表麵上的強勢必轉化為弱勢。通過這次戰爭,希臘解除了波斯帝國對它的軍事威脅,獲得了自由和獨立。