Ante el peligro común, tampoco coincidieron los griegos, como era tradicional: algunas poleis, las ciudades jonias de Asia, las insulares (Andros, Thenos, Paros), Tesalia y Beocia tomaron el partido del Gran Rey, o por temor o vendidas al oro persa, Tebas y Argos decidieron permanecer neutrales, en tanto que los demás pueblos griegos- Atenas, Esparta y los argivos a la cabeza- se reunieron en Corinto y establecieron un pacto por el que se comprometían a no terminar la guerra sino mediante una decisión común. Se fijó, como primera línea de resistencia, el desfiladero de las Termópilas, en tanto que la escuadra aliada se establecería en el extremo de la isla de Eubea, junto a un santuario dedicado a Artemisa. Más discutida fue la decisión de un mando común; al fin se tomó la decisión de que el espartano Leónidas defendiera el desfiladero de las Termópilas, en tanto que el ateniense Temístocles protegería Atenas.
En efecto, 300 espartanos, 700 de Thespies y 400 tebanos, que al fin se habían alineado en la causa nacional, acordaron mantenerse en las Termópilas al mando del rey espartano Leónidas. Las Termópilas es un desfiladero estrecho, entre el monte Otea y el mar, por donde apenas podía pasar un carro de frente.
El ejército persa quedó detenido unos días hasta que – según la narración de Heródoto- un traidor llamado Sfialtes indicó a los persas un lugar por donde podían pasar la cadena montañosa sin tener que atravesar el desfiladero. Cogidos por los dos lados, Leónidas permitió a los de Thespies retirarse, si querían, mientras mantuvo a su lado a los tebanos; pero los primeros quisieron también morir con los espartanos.
La batalla de las Termópilas (agosto de 480 antes de Jesucristo) terminó con la muerte de todos los defensores griegos, pero costó a los persas 20.000 víctimas, entre las cuales estaban dos hermanos del propio rey Jerjes. Se cuenta de ella -lo narra siempre Heródoto- que habiendo anunciado algún derrotista que los persas eran tan numerosos que si disparaban todos sus flechas al mismo tiempo oscurecerían al Sol, un espartano llamado Dieneces respondió: «Mejor, así pelearemos a la sombra». En honor de las víctimas se grabó después en el desfiladero una inscripción que reza: «Viajero, anuncia a Esparta que yacemos aquí en obediencia a sus leyes».
Franqueado el obstáculo de las Termópilas, la oleada persa se abatió sobre el Ática, mientras la escuadra griega que había combatido en luchas parciales contra los persas se refugiaba en Salamina. Este hecho fue debido a una consulta que hizo Temístocles al oráculo de Delfos. La pitonisa le advirtió que la salvación de Atenas se cifraba en «levantar murallas de madera», eufemismo que el caudillo griego interpretó en el sentido de referirse a los barcos.
Desbordada la defensa, los persas entraron en el Ática, llegaron a Atenas incendiando los templos de las Acrópolis, siempre como venganza de la destrucción de los de Sardes, y degollaron a la pequeña guarnición que allí había quedado.
Trescientas sesenta y ocho naves griegas, después de haber transportado a la población ateniense a la pequeña isla de Salamina, esperaron el inminente ataque de los persas. En septiembre de 480 a. J.C. tuvo lugar la batalla naval conocida con el mismo nombre de la isla, presenciada desde la costa del Ática por el propio rey Jerjes. Las naves persas, mayores en tamaño, no pudieron evitar las ágiles maniobras de los pequeños barcos griegos- de Atenas y Egina principalmente- que las envolvieron y encerraron en la pequeña rada de Salamina. Pereció en el combate el almirante persa Ariabigne, hijo de Darío y hermano de Jerjes, y con él muchos personajes famosos. El rey persa huyó a su país dejando a su cuñado Mardonio, con 300.000 hombres, para que continuara la guerra tratando de forzar el istmo de Corinto.
Mientras tanto, caído en desgracia Temístocles, fue sustituido por Xantipo y Arístides. Mardonio evacuó Atenas, que fue ocupada de nuevo por sus habitantes, y allí se recibió una embajada de Mardonio, desempeñada por un personaje macedónico llamado Alejandro, en la que el rey persa ofrecía la paz a los atenienses, comprometiéndose a restaurar la ciudad, si Atenas se mostraba neutral, y aún se ofrecía a ayudarles para conquistar el Peloponeso acabando con la hegemonía espartana en aquella península.
El ofrecimiento fue rechazado por los atenienses que mantuvieron su alianza con los espartanos, pidiéndoles que pasaran a la ofensiva contra las tropas de tierra persas que se mantenían en territorio griego, pero los espartanos dejaron pasar un año antes de actuar. Mardonio volvió a apoderarse de Atenas, y los atenienses se trasladaron de nuevo a Salamina, en espera de la ayuda de los espartanos.
Llegaron, al fin, éstos y junto con los demás aliados dieron contra Mardonio la batalla de Platea (en el Ática), en el año 479, en la que murió el propio Mardonio. La lucha comenzó en forma incierta al principio, y los persas lograron hacer retroceder a los griegos. El jefe griego de Platea se llamaba Pausanias, tutor del hijo de Leónidas, Plistarco, a quien realmente correspondía el mando, pero por su edad fue escogido jefe su primo y tutor. La batalla de Platea fue un gran éxito de los griegos y salvó al país de la invasión Persa.
En el mismo año, la flota griega al mando del también espartano Leutíquidas derrotaba a los persas en la batalla naval de Mikala, produciendo esta victoria un levantamiento de los jonios de Asia dominados por el Gran Rey. Los persas supervivientes de la matanza llevada a cabo por los jonios se refugiaron en Sardes, en tanto que la escuadra ateniense marchaba al Hellesponto para evitar el paso del ejército persa de regreso a Asia, cosa que no consiguió, pero pudo tomar Sestos, en la costa europea del Hellesponto (Dardanelos actuales).