480-479 p.n.e. Do pierwszego poważnego starcia doszło w wąwozie termopilskim, który był jedynym dostępnym przejściem z północy na południe. Pod Termopilami Persowie ponieśli ogromne straty, jednak za sprawą zdrajcy greckiego Efialtesa udało im się pokonać 300 pozostawionych do obrony przejścia Spartan pod wodzą Leonidasa. Jednocześnie wraz z wycofaniem się wojsk greckich spod Termopil, spod przylądka Artemizjon wycofała się dowodzona przez ateńczyka Temistoklesa flota, broniąca cieśniny między kontynentem a wyspą Eubeą, w kierunku Pireusu. Idąc w głąb Hellady Persowie spalili Ateny.

Ta sama flota, złożona w większości z okrętów ateńskich, kilka miesięcy później pokonała flotę Persów w bitwie pod Salaminą. Po bitwie ocalała flota Kserksesa odpłynęła do Azji, a król nakazał Mardoniuszowi zimującemu ze swoją armią lądową w Tesalii powrót do Grecji. W następnym roku Grecy pokonali Persów na lądzie pod Platejami i na przylądku Mykale. Pod Platejami zginął Mardoniusz, a jego armia została rozproszona. Pobici Persowie opuścili Grecję.