Nel 486 a.C. a Dario I succedette Serse I. Il figlio decise di vendicare la sconfitta paterna e organizzò subito una nuova spedizione. Se la guerra portata da Dario doveva configurarsi solamente come spedizione punitiva nei confronti delle città che avevano aiutato i rivoltosi ionici, l'impresa di Serse si poneva, invece, intenti di espansione e conquista territoriale del continente greco, al fine di ridurlo a satrapia dell'impero. Di fronte al pericolo i rappresentanti delle poleis greche si riunirono presso l'istmo di Corinto (481 a.C.) e decisero di costituire un'alleanza difensiva, conosciuta come Lega panellenica, sotto il comando del re Leonida di Sparta, ritenendo che fosse opportuno coordinare le operazioni militari e qualunque decisione di carattere politico e strategico. All'accordo tuttavia non aderirono Argo, Corcira, Siracusa (a causa degli scontri che la vedevano impegnata con i Cartaginesi, alleati dei persiani) e neanche le città della Tessaglia, della Beozia, della Focide e della Locride. All'inizio del 480 a.C. gli ambasciatori di Serse I si recarono presso le città greche (ma non Atene, che non avrebbero comunque risparmiato) e chiesero che offrissero loro terra e acqua al Gran Re, cioè la loro sottomissione formale. Le città rifiutarono e rimandarono indietro i messaggeri, mentre a Sparta furono uccisi. Incominciarono le operazioni belliche: mentre la flotta persiana navigava verso l'Attica, l'esercito passò l'Ellesponto con un ponte di barche e penetrò prima in Tracia e poi in Tessaglia. I Greci, riuniti in una lega, si trovarono però subito in disaccordo su quale fosse la migliore tattica difensiva: gli Spartani premevano perché si affrontassero i Persiani sulla terraferma e lo si facesse all'imbocco del Peloponneso, presso l'istmo di Corinto, che nel frattempo veniva fortificato; gli Ateniesi ritenevano invece che fosse preferibile opporsi con la flotta. Sui due diversi punti di vista pesava soprattutto la considerazione dei rapporti di forza all'interno della Grecia, dato che la fanteria oplitica spartana era di gran lunga la più forte e un'eventuale vittoria sulla terraferma avrebbe arrecato gloria e potere soprattutto agli Spartani, mentre Atene avrebbe ricavato benefici da una vittoria navale, dato che le sue navi costituivano il grosso della flotta della Lega. Nonostante i progetti di iniziativa comune, I Greci si presentarono dunque sostanzialmente divisi di fronte all'invasione: prevalse il piano spartano, ma gli Ateniesi spinsero perché si cercasse di fermare il nemico più a nord. A causa di questi contrasti, solo un ristretto contingente si posizionò al passo delle Termopili, che era la strettoia obbligata verso la Grecia centrale, per sbarrare la strada ai nemici. Nell'agosto del 480 a.C. avvenne lo scontro tra i due eserciti. Dopo giorni di combattimento il grosso dell'esercito greco si ritirò, tranne i trecento spartani di Leonida e i settecento tespiesi che, circondati dai nemici per il tradimento di Efialte, il quale aveva indicato ai Persiani un sentiero (l'Anopaia) per aggirarli, si sacrificheranno per ritardare l'avanzata persiana e dare tempo agli alleati di ripiegare. Oltrepassato il passo, i Persiani dilagarono in Grecia. L'Attica e la Beozia furono devastate, Atene saccheggiata e data alle fiamme. Gli abitanti si salvarono solo grazie all'insistenza dello stratega Temistocle, che riuscì ad evacuare la città e a mettere la popolazione in salvo sulle isole. Pochi giorni dopo la presa della città, avvenne la battaglia navale presso Capo Artemisio, che si risolse con un sostanziale pareggio. La flotta greca, però, era ancora integra. A questo punto prevalse la strategia della battaglia per mare dell'ateniese Temistocle, che aveva assunto la guida della lega panellenica, dopo la morte di Leonida: per convincere gli alleati, gli Ateniesi si servirono anche dell'interpretazione tendenziosa di un oracolo pronunciato dalla Pizia, che aveva consigliato loro di difendersi con un muro di legno. Temistocle ritenne che il muro dovesse essere interpretato non come l'invito a barricarsi nelle città, ma in riferimento alle navi. Un mese dopo, in settembre, avvenne la decisiva battaglia navale presso l'isola di Salamina, vinta dai Greci grazie a Temistocle, che sconfisse la flotta persiana, più numerosa, ma che usava navi troppo grandi e difficilmente maneggiabili in quella zona di mare. Un contingente persiano si fermò in Tessaglia da dove, con il contributo dei Tebani, nell'agosto del 479 a.C., fece ripartire l'offensiva persiana. Nella battaglia campale di Platea, in Beozia, ci fu la sconfitta definitiva, dove l'esercito persiano venne messo in fuga da quello greco, guidato dallo spartano Pausania, mentre in contemporanea sotto il comando di Leotichida avveniva la battaglia navale presso il capo Micàle, che si risolse in un'altra sconfitta per i Persiani. L'anno dopo (478 a.C.) le città ioniche dell'Asia minore furono liberate da una flotta greca guidata dallo spartano Pausania (che da lì a poco fu richiamato in patria ed accusato di dispotismo). A questo punto Atene rimase la sola potenza ellenica interessata all'Egeo e alla Ionia, contro i Persiani.