Perang Romawi-Persia

Selama masa tersebut, Heraclius berusaha membangun kembali pasukan Romawi. Dia memotong pengeluaran nonmiliter yang tidak penting, mendevaluasi mata uang dan melebur lempeng gereja, dengan dukungan Patriark Sergius, untuk memperoleh dana yang dibutuhkan untuk melanjutkan peperangan. Pada 622 M, Heraclius berangkat dari Konstantinopel, memercayakan kota kepada Sergius dan jenderal Bonus sebagai wali anaknya. Dia menghimpun pasukannya di Asia Kecil dan, setelah melakukan latihan untuk meningkatkan moral mereka, dia melancarkan serangan balasan, yang mengambil ciri perang suci.
Di Kaukasus dia mengalahkan pasukan Arab sekutu Persia, dan kemudian meraih kemenangan atas Persia di bawah Shahrbaraz. Menyusul masa tenang pada 623 M, ketika Heraclius merundingkan kesepakatan damai dengan suku Avar, dia melanjutkan kampanyenya di Timur pada 624 M dan mengusir pasukan pimpinan Khosrau di Ganzak, Atropatene. Pada 625 M, dia mengalahkan jenderal Shahrbaraz, Shahin dan Shahraplakan di Armenia, dan dalam sebuah serangan kejutan pada musim dingin pada tahun yang sama dia menggempur markas Shahrbaraz dan menyerang pasukannya dalam bilet musim dingin mereka.
Didukung oleh pasukan Persia pimpinan Shahrbaraz, suku Avar dan Slav mencoba mengepung Konstantinopel pada 626 namun gagal, sementara pasukan Persia kedua di bawah Shahin kembali menderita kekalahan di tangan saudara Heraclius, Theodore.
Sementara itu, Heraclius membentuk persekutuan dengan suku Turk, yang mengambil keuntungan ketika kekuatan Persia melemah. Suku Turk memorak-perandakan wilayah Persia di Kaukasus. Pada akhir 627 M, Heraclius melancarkan serangan musim dingin ke Mesopotamia, di sana, meskipun kontingen Turk tidak mau ikut menyerang, Heraclius tetap dapat mengalahkan Persia dalam Pertempuran Nineweh. Dia terus bergerak ke selatan di sepanjang Tigris dan menjarah istana agung Khosrau di Dastagird. Dia sebenarnya hendak menyerang Ktesiphon juga namun gagal karena jembatan di Kanal Nahrawan dihancurkan. Karena terus mengalami kekalahan, Khosrau digulingkan dan dibunuh dalam sebuah kudeta oleh putranya sendiri Kavadh II, yang langsung saja meminta perdamaian. Supaya dapat berdamai, Kavadh bersedia menarik pasukan Persia dari semua wilayah yang sebelumnya mereka rebut. Heraclius mengembalikan Salib Suci ke Yerusalem dengan perayaan yang megah pada 629.