Судьба греко-персидских войн была решена в морском сражении у Саламина. Командовавший афинским флотом стратег Фемистокл был и его создателем. Он понимал, что только на море можно одолеть Персидскую империю. На суше персы всегда будут иметь численное, да и качественное превосходство над греками, тем более что на сторону Ксеркса уже перешли такие греческие государства как Фессалия и Беотия. Однако чем многочисленнее будет армия персидского царя, тем в большей зависимости от подвоза снабжения морем она окажется.
Для того чтобы заманить неприятеля в узкий пролив, отделяющий Саламин от материка, где персы не могли использовать свой численный перевес, Фемистокл прибег к хитрости. Он написал Ксерксу письмо, где утверждал, будто греческий флот готов к капитуляции. Персидский царь поверил, поскольку знал, что в греческом лагере существуют острые разногласия. Спартанцы предлагали отплыть к Пелопоннесу, в противном случае угрожая увести свои корабли. Против решения Ксеркса идти к Саламину из персидских предводителей выступила только царица Галикарнаса в Малой Азии Артемисия. Она предлагала вместе с сухопутной армией двинуться к Пелопоннесу, вынуждая спартанские корабли уйти от Саламина. Однако большинство военачальников решило атаковать греческий флот. Когда флот Ксеркса вошел в пролив, его атаковали греческие триеры, более мощные суда, чем финикийские галеры, составлявшие основу персидского флота (еще там были мало-азийские греки). Сохранилась зарисовка Саламинского боя в драме Эсхила «Персы»: «Сперва стояло твердо войско персов, когда же скучились суда в проливе, дать помощи друг другу не могли и медными носами поражали своих же — все они тогда погибли, а эллины искусно поражали кругом их… И тонули корабли. И под обломками судов разбитых, под кровью мертвых скрылась гладь морская. Покрылись трупами убитых скалы и берега, и варварское войско в нестройном бегстве все отплыть спешило».
Численный перевес персидского флота сыграл здесь против него: скученные корабли в условиях поднявшегося волнения на море несли больше урона от столкновений друг с другом, чем от неприятеля. В этом сражении греки сражались с греками и финикийцами, и тактики придерживались одинаковой: таранили суда противника или пришвартовывались к ним, и находящиеся на судах гоплиты вступали в абордажный рукопашный бой.
Персидский флот проиграл Саламинский бой из-за самоуверенности Ксеркса, решившего, что противник готов капитулировать, и рассматривавшего морскую экспедицию к Саламину как простую демонстрацию силы. Греки потеряли в сражении 40 кораблей из 350, персы — половину из 500 судов, участвовавших в бою.
После поражения флота Ксеркс с большей частью армии покинул Грецию. Пребывание основной массы персидских войск на Балканах теряло смысл: после гибели значительного числа кораблей их невозможно было снабжать. Здесь остался один только корпус под командованием Мардония. Он увел персидские войска из Аттики и закрепился в союзной персам Фессалии.
После победы при Саламине Фемистокл предлагал послать флот к Геллеспонту и разрушить мост, лишив тем самым персидскую армию на Балканах последнего пути снабжения. Однако восторжествовала точка зрения других стратегов, считавших, что, прежде всего, необходимо освободить Грецию от персов.
Весной 479 года Мардоний получил подкрепления и вновь занял Афины. Однако в том же году в Малой Азии у мыса Микале греческий флот под командой спартанского царя Леонтихида и афинянина Ксантиппа, благодаря измене служивших у персов моряков из числа ионийских греков, сжег остатки персидского флота. Лишенный снабжения, Мардоний вынужден был оставить Афины и принять сражение у города Платеи в Беотии с объединенным греческим войском во главе со спартанским царем Павсанием. В этом сражении афиняне имели 8 тысяч гоплитов и столько же легковооруженных воинов. Примерно такой же по численности армией располагали спартанцы. Мардоний был убит в самом начале сражения, что дезорганизовало его войско. Большая часть персидской армии и ее греческих союзников (фессалийцев, беотийцев и др.) погибла или была пленена. В целом же судьбу греко-персидских войн решили сражения не на суше, а на море. Вскоре после битвы при Платеях были взяты Фивы — крупнейший греческий город, вставший на сторону персидского царя.