Dareiosz Kr. e. 486-ban meghalt, és fia, Xerxész követte, aki az egyiptomi lázadást leverte, és Görögországba vonult. A viharban összeomlott két híd, amelyet a Hellesponton (Dardanellák) építettek. Ezután Xerxész elrendelte, hogy korbácsolják fel a tengert és fejezzék le a mérnököket. Ott új pontonhidakat építettek, amelyeken keresztül a perzsák Kr. e. 480 tavaszán továbbvonultak a Balkánra. A perzsa haditengerészet a hadsereggel párhuzamosan mozgott.
A marathoni csata után Athénban néhány évig politikai harcok folytak Miltiadész, Xanthipposz, Arisztidész és Themisztoklész között. Az athéniak tudták, hogy a perzsák újabb hadjáratra készülnek, és védekezésre kell készülniük, de nem tudták, hogyan. A védelem típusának mérlegelésében Themisztoklésznek és Arisztidésznek volt a fő szava. Themisztoklész Marathónnál stratéga volt, és a haditengerészet létrehozását szorgalmazta, míg a földbirtokosok vezetője, Arisztidész a nehézgyalogság felszerelése mellett volt. A győztes Themisztoklész lett, akit az attikai tengerészek, kereskedők és üzletemberek támogattak, akik a haditengerészet fejlettebb általános fejlődése mellett voltak. Arisztidészt kiközösítéssel száműzetésbe küldték.
Az athéniakon kívül a többi görög is a perzsák megtámadására készült. Kr. e. 481-ben 31 város képviselői találkoztak a korinthoszi földszorosnál, és elhatározták, hogy összefognak és megvédik Görögországot. Plataea kivételével valamennyi boiótiai város és valamennyi thesszáliai a perzsák oldalán állt. Sok görög város semleges maradt. A spártaiak és athéniak vették át az egyesült görögök vezetését.
Thermopülai csata
Ie. 480 júniusában a perzsa sereg és haditengerészet a Szaloniki öbölből Thesszálián keresztül dél felé indult. A seregnek át kellett haladnia a Thermopülai-szurdokon, ahol a perzsák a Leonidasz spártai király vezette peloponnészosziak csapatával találkoztak. A görögök sokáig ellenálltak a túlerőben lévő perzsáknak, és addig tartották őket, amíg a perzsák hátulról be nem kerítették őket. A görögök visszavonultak, míg a spártaiak maradtak és hősi halált haltak (Thermopülai sírfelirat: Ó idegen, mondd meg a lakedaimóniaknak, hogy itt fekszünk, bízva szavaikban). A thermopülai hősök feláldozták magukat a másikért, mert lehetővé tették az athéniaknak a kiürülést és megosztották a hadsereget.
Artemiszai csata
A görög haditengerészet Eurybiadész vezetésével az euboeai Artemisz északi pontjánál szállt szembe a perzsákkal. Ott a csata változó szerencsével zajlott. A görögöknek sikerült feltartóztatniuk a perzsákat, de miután Leónidasz közölte, hogy vesztett, a görögök délre vonultak vissza.
Salamiszi csata
Xerxész a Thermopülain keresztül hatolt be Görögországba. Az athéni lakosság már Athénban, Aeginában és Tróezenben keresett menedéket az artemisziai csatából kivonult haditengerészetnek köszönhetően. Kr. e. 480 szeptemberében. A perzsák bevonultak Athénba, feldúlták és felégették. A perzsa haditengerészet behajózott Phalerumba.
Szeptember végén nagy csata zajlott a tengeren Szalamisz szigeténél. Ott a görög triremesek ügyesen manővereztek a hatalmas perzsa hajók körül, amelyeket a Szalamisz és a partok közötti csatornában nem lehetett harcba állítani. E győzelemért a legnagyobb érdem Themisztoklésznek jutott, aki a csatát vezette és a haditengerészet kiépítését szorgalmazta. A perzsák Szalamisznál sok hajót vesztettek, amelyek a szárazföldi erőiket támogatták, különösen az utánpótlás miatt. Xerxész, aki a partról figyelte a szalamiszi csatát, kénytelen volt seregét Ázsiába visszavonni. Thesszáliában hagyott néhány ezer katonát Mardonius vezetésével.
Platai csata
Mardonius nagyon ügyesen megpróbált I. Sándor makedón királyon keresztül alkut kötni az athéniakkal, de nem járt sikerrel. A 479-es év tavaszán. Kr. e. Mardonius Thesszáliából Beótiába érkezett, ahol szövetségesei, a thébaiak elfogadták, és onnan vonult be Attikába. Az athéniak ismét megmozdultak, és a perzsák ismét bevonultak Athénba. Az athéniak, a plataiak és sok peloponnészoszi egyesültek, és Kr. e. 479 augusztusában a boiótiai Plataeánál megtámadták a perzsákat. A görögök a spártai Pauszaniasz parancsnoksága alatt legyőzték a perzsákat, és Mardoniosz meghalt a csatában.
Mikáléi csata
Ez a csata i. e. 479 augusztusában zajlott. (Egyes verziók szerint a plataiai csatával egy napon). A görög haditengerészet Kis-Ázsiánál a Mycale ponton verte meg a perzsákat. Ezt követően a görög haditengerészet visszavonult Szamoszra. A spártaiak visszavonultak, míg az athéniak folytatták a háborút Perzsia ellen. Kr. e. 478 tavaszán elfoglalták a Hellesponton lévő Sesztoszt. A csapat befejezte a görög-perzsa háborúkat európai földön. Az athéniak alatti görögök ellentámadásra indultak, és a kis-ázsiai görögök elkezdtek felszabadulni a perzsa uralom alól.