Persia terus bergerak semakin jauh di Yunani dan menaklukkan kota Athena, yang sudah hampir kosong karena penduduknya telah dievakuasi. Pada akhirnya, dalam suatu pertempuran maritim yang menentukan di Pertempuran Salamis, armada Persia dikalahkan oleh armada gabungan Yunani. Ini membuat Xerxes menarik mundur sebagian besar pasukan daratnya dan kembali ke Persia. Mardonios, seorang jenderal Persia, tetap tinggal di Yunani dan ditugaskan menyelesaikan invasi bersama sisa-sisa pasukan darat Persia. Pada tahun 479 SM, pasukan gabungan Yunani mengalahkan pasukan Mardonios dalam Pertempuran Plataia, dan armada gabungan Yunani menghancurkan armada Persia pada Pertempuran Mykale. Semua kemenangan Yunani ini mengakhiri invasi Persia.