Испытывая неполадки и затруднения в делах общественных, Ираклий не сумел хорошо наладить и домашние: в мае 612 г. после родов умерла императрица Евдокия. Спустя четыре месяца Ираклий соединился браком со своей племянницей Мартиной, хотя знал, что дело, которое он делает, неправильно и запрещено римскими законами. У старшего сына, который родился от этого брака, шея была так поставлена, что он не мог оборачиваться, а младший от рождения был лишен слуха и оставался глухонемым.
Ираклий был приведен в замешательство многочисленными бедами: нашествиями персов, аваров, голодом и эпидемиями. Но спасительное решение вскоре было найдено – в 621 г. император объявил о своем намерении лично возглавить борьбу против персов (Никифор: 613, 619, 622). Весь синклит одобрил этот план (Себеос: 36). Из-за недостатка средств Ираклий занял деньги у хозяев богатых домов, взял также паникадила и другие церковные сосуды великой церкви и перевел в крупные и мелкие деньги (Феофан: 613). Своих детей он поручил патриарху, а бразды правления передал патрикию Бону (Никифор: 622). В апреле 622 г. Ираклий перебрался из Константинополя в Пилы, расположенные южнее Никомедии, чтобы продолжать путь на кораблях. К набранному в провинциях войску, он присоединил новобранцев, начал упражнять их и приучать к военным действиям. Воинам он поклялся, что будет с ними в трудах и сражениях и разделит с ними все опасности, как с собственными детьми. Весь 622 г. он был занят формированием и тренировкой армии. Лаской и строгостью Ираклий в конце концов добился того, что из множества разобщенных воинов, в которых он нашел поначалу только робость, беспорядок и неустройство, собралось как бы единое и крепкое тело (Феофан: 613). Осенью римляне вступили в Каппадокию, зиму провели в Понте, а в апреле 623 г. вместо того, чтобы идти на персидскую столицу Ктесифон, как этого ожидал шах Хосров II, Ираклий со своим войском повернул на север, в кавказские владения персов – через Армению, вторгся в персидскую провинцию Антропатену, взял Карин (Эрзерум), Двин, Нахичевань и Гандзак (Гянджду). Отсюда он отступил в Албанию и захватил ее столицу Партав (Себеос: 36). Весной 624 г. персы заняли теснины, ведущие из Албании в Персию. Но Ираклий избрал более длинный путь через долины. Шах выслал навстречу императору еще две армии Шахрабараза и Шахина (Феофан: 615). Шахрабараз преградил путь римлянам, а Шахин разбил лагерь у них в тылу. Ираклий, не дав им соединиться, напал сначала на Шахина, разбил его у местечка Тигранакерт и стал отступать из Албании в Армению (Себеос: 36). Шахрабараз присоединил остатки войск Шахина и бросился за ним в погоню (Феофан: 615). Римляне вновь отошли к На-хичеваню, а затем в Апахунию к берегам озера Ван. Шахрабараз с шеститысячным отрядом устроил императору засаду в городе Арчем, собираясь напасть на римлян ночью, но Ираклий, узнав об этом, стремительно нагрянул на персов сам, окружил город с трех сторон, велел поджечь его и истребил вместе со всем гарнизоном. Уцелел лишь один Шахрабараз, который бежал к главным силам на плохом коне (Себеос: 36). Зиму римляне провели в Армении к северу от озера Ван, а весной 625 г. Ираклий через Тавр вторгся в Сирию к верховьям Тигра и городу Аминда. Шахрабараз шел за ним по пятам, чиня всякие препоны. Тогда Ираклий резко сменил направление и стал отступать к Понту. Персы, вообразив, что римляне бегут от робости, преследовали их в полном беспорядке (Феофан: 616). Заманив таким образом врагов на удобную позицию, император внезапно развернулся, бросился на них, когда они меньше всего этого ожидали, и нанес новое поражение. Зиму римляне провели в своих владениях в Понте (Себеос: 36).
В начале 626 г. Шахрабараз, оставив пока Ираклия, подступил к Константинополю и занял азиатский берег Боспора. Авары и славяне, нарушив перемирие, напали на столицу с фракийской стороны, сожгли все предместья и подвели к стенам башни с осадными машинами. Но все попытки кагана овладеть городом кончились неудачей. Патрикий Бона нанес в проливе сильное поражение славянскому флоту, после чего варвары сняли осаду. Тем временем Ираклий, отправив часть войск во главе со своим братом Федором на помощь столице, с остальными легионами начал поход в Лазик. По дороге в Трапезунде Мартина родила императору третьего сына. У Тбилиси Ираклий встретился с хазарским каганом, сосватал за него свою дочь и заключил с хазарами дружественный союз. Несколько месяцев две армии совместно осаждали Тбилиси, но так и не смогли его взять (Никифор: 626, 627). Затем, отобрав 40 000 храбрых воинов, каган поручил их Ираклию, а сам возвратился в степь. Осенью 627 г. римляне от столицы Лазика стремительно двинулись вглубь Персии. По дороге хазары, не выдержав трудностей пути, покинули своих союзников, но это не остановило Ираклия. Он предавал огню города и села, а пленных персов убивал. Персидское войско, возглавляемое Рахзадом, двигалось следом. У развалин древней Ниневии Ираклий развернулся и стал поджидать врага (Феофан: 618). Приблизившись, Рахзад построил свою армию и стал вызывать противника на единоборство. Ираклий сам вышел против варвара. Тот пустил стрелу и задел верхнюю губу императора. Затем послал другую и ранил его в лодыжку. Он готовился пустить третью, но тут один из копьеносцев Ираклия отсек ему плечо. Когда Рахзад упал, Ираклий поразил его копьем и сразу же отрубил голову. Римское войско, воодушевленное смелостью императора, напало на персов, нанесло им сильное поражение и, преследуя, перебило многих из них (Никифор: 627). Ираклий находился в самой гуще битвы, конь под ним был убит, а сам он получил множество ударов мечами в лицо, но забрало из жил защитило его, и удары остались без последствий (Феофан: 618).
В начале января 628 г. римляне подступили к персидской столице Ктесифону, захватили и разграбили все шахские дворцы в окрестностях города (Себеос: 37). Был взят Дастагерд – резиденция Хосрова, в которой, кроме прочей добычи, найдены были 300 римских знамен, захваченные персами в разное время. Шах тайком бежал из своего дворца за девять дней до прибытия Ираклия. Ираклий двинулся дальше, но узнав, что мосты через канал Нахраван разрушены, и приблизиться к Ктесифону нельзя, повернул свою армию и стал отступать к Гандзаку. По дороге император узнал о перевороте, совершенном персидскими военачальниками – шах Хосров и сорок его сыновей были убиты. Власть захватил Кавад (Феофан: 618). Не в силах более продолжать войну, озабоченный внутренними смутами в своем государстве, он заключил мир по всей воле Ираклия: персы вернули римлянам Египет и все завоеванные земли, а также великую святыню – Животворящий Крест (Никифор: 628). В мае Ираклий возвратился в столицу и был с великой радостью принят народом. Беспримерная по своему напряжению война завершилась полной победой.
В начале 630 г. Ираклий с Животворящим Крестом прибыл в Палестину. Водворение святыни в Иерусалиме осталось в памяти потомков как бы высшей точкой его успехов. Разгромив и отбросив всех варваров, Ираклий мог, кажется, наслаждаться теперь долгим миром. Но в действительности он получил лишь небольшую передышку. Прошло совсем немного времени, и новый, гораздо более опасный враг явился на восточных границах империи. Удар был нанесен оттуда, откуда его совсем не ждали – из пустынь Аравии.
Летом 634 г. арабы взяли Газу и всю страну вокруг нее. Федор, брат Ираклия, сразился с ними, был побежден и бежал в Эдессу. Летом 636 г. халиф Умар разбил 40-тысячное римское войско на берегу Йармука, левого притока Иордана, захватил всю Финикию и двинулся против Иерусалима. Сил противостоять натиску захватчиков не было (Феофан: 619, 620, 624-626), Арабы перешли Иордан и разбили лагерь в Иерихоне. Все окрестные жители, объятые страхом, покорились им. В ту же ночь жители Иерусалима, спасая Крест Господень и всю церковную утварь, на кораблях морем отправили все это в Константинополь, после чего тоже покорились Умару. Арабы разделили свое войско на три отряда. Один они отправили против Египта, другой – на север в Сирию, третий – против персидского царства (Себеос: 40).