Занятие Цимисхием Преславы сильно изменило расстановку сил. Русы и болгары понесли значительные потери. В византийский плен попал болгарский царь Борис, на момент штурма пребывавший в столице. Видя, что преимущество в войне за византийцами, болгары начали массово выражать преданность Константинополю. В Доростоле, чтобы пресечь подобные тенденции, Святослав казнил или посадил в заключение бояр, заподозренных в симпатиях к Византии (всего около трехсот человек). Этот ход несколько стабилизировал ситуацию в городе, но никак не добавил русскому князю симпатии в глазах местного населения.
После короткого отдыха Цимисхий повел армию от Преславы к Доростолу. Авангард его войска был встречен союзниками и перебит. Трупы погибших русы оставили на пути следования основных имперских сил как предупреждение об ожидаемой участи.
Под Доростол император Иоанн пришел 23 апреля. Сценарий сражения напоминал бой под Преславой. Греки наступали сложным построением, в центре которого находилась пехота, на флангах — клибанарии, а за пехотой лучники и пращники, атаковавшие противника через головы своих передних шеренг. Так же, как и под Преславой, судьба сражения решилась только к вечеру, когда удар византийской конницы сломил русскую фалангу.
Следующий день прошел мирно. Обе стороны зализывали раны. Император приказал на холме перед городом разбить лагерь, укрепленный рвом и валом, на гребне которого выставили щиты и копья, образуя таким образом дополнительную полосу препятствий для наступающих.
Боевые действия днем 25 апреля ограничились перестрелкой, а вечером того же числа русичи сделали попытку штурмовать вражеские позиции. Византийский хронист Лев Диакон, неоднократно упоминавший неспособность русов к конному бою, пишет, что в этот раз они сделали первую попытку кавалерийской атаки. Но отсутствие практики подобного рода сказалось, и русский натиск разбился о контратаку греческой конницы.
В очередной раз отступив, русы закрылись в Доростоле. Тем временем к Доростолу по Дунаю подошли византийские корабли, в т. ч., и огненосные. Таким образом водный путь из города оказался перекрыт. В еще одном полевом сражении 26 апреля погиб Сфенкел (часть историков готовы предполагать лишь тяжелое ранение). Кто победил в этот раз — неясно. С одной стороны, Диакон сообщает, что русы отступили. Но другой хронист, Георгий Кедрин, утверждает, что они до позднего вечера находились на равнине перед городом — т. е., поле боя осталось за ними. Напрашивается подозрение, что несмотря на все попытки византийских историков представить битвы первых четырех дней доростольской осады как яркие примеры славы ромейского оружия, реальный перевес Иоанна Цимисхия оказался явно недостаточным, чтобы сходу разбить противника. Во всяком случае, ни одна из этих побед не имела своим продолжением попыток ворваться в город на плечах отступающего врага.
Осада затягивалась. К грекам подошли обозы с осадной техникой. Для ее нейтрализации вокруг Доростола русичи вырыли еще один ров. В течение следующих полутора месяцев военные действия велись вяло. Фиксируются постоянные обстрелы города камнеметной артиллерией. Русские совершали периодические вылазки. Во время одной из них был убит командовавший осадными орудиями Иоанн Куркуас (19 июля), в бою на следующий день погиб русский военачальник Икмор.
Ночью с 20 на 21 июля русичи устроили масштабную тризну в память погибших соратников, после чего Святослав собрал военный совет. Встал вопрос о целесообразности продолжения боевых действий. Нехватка провизии и голод делали дальнейшую оборону Доростола невозможной.
Сухопутные и водные пути к отступлению перекрыты противником. Было принято решение дать последний бой, чтобы либо победить, либо умереть с честью.
22 числа на закате дня, собрав все наявные силы, русы вышли из городских ворот. Битва была как никогда ожесточенной, и, как всегда за последние месяцы, неясно было, за кем победа. Обстановку ночного боя осложнила разразившаяся буря, окончательно расстроившая систему взаимодействия греческих войск. Боевые порядки расстраивались, ряды смешивались. Русы получили реальный шанс, пользуясь непогодой и темнотой, разбить врага и выйти из окружения. Легенда гласит, что спасти византийцев смог только Святой Феодор, явившийся в критический момент и прекративший бурю. Это чудо якобы мобилизовало греков и позволило нанести решающий удар. И если появление святого целиком лежит на совести хронистов, то обходной кавалерийский маневр с ударом по русским тылам зафиксирован достоверно. Оказавшись перед угрозой полного окружения и не имея возможности сопротивляться коннице, русы — в который раз за время Доростольского сидения — вернулись в крепость.
Это был последний бой под Доростолом. На следующий день русский князь начал переговоры. Согласно условиям договора, восстанавливались мирные отношения между сторонами, русичи оставляли Болгарию и получали контрибуцию за понесенный ущерб.
Размер контрибуции рассчитывался исходя из числа 22 000 русских воинов, хотя летопись сообщает, что в это время со Святославом оставалось всего лишь около 10 000 человек, но князь специально завысил в тексте договора реальную численность своего войска. Помимо этого, ромеи обязались способствовать соглашению с печенегами (которые успели снова стать друзьями Византии), чтобы те беспрепятственно пропустили русичей через свои территории. После того, как послы согласовали условия, князь выразил желание лично побеседовать с Цимисхием. Император явился на берег Дуная, где была назначена встреча, в сверкающей броне, облаченный в соответствующие регалии и в сопровождении пышной свиты. Когда же он увидел своего вчерашнего врага, то был немало удивлен: ни одеждой, ни манерами он не отличался от прочих своих воинов, а к месту встречи приплыл на простой ладье, в которой греб веслами наравне с остальными гребцами.
Единственным внешним отличием князя был длинный чуб на гладко выбритой голове да одна сережка в ухе. Во время недолгой беседы Святослав говорил, сидя в лодке, без дерзостей, но и без преклонения перед победителем. Обязавшись свято соблюдать мир, они расстались
Император, как и обещал, направил к печенегам послов, но договориться с кочевниками они не смогли или не захотели. Святослав же с войском, не зная об этом, начали путь домой. В районе днепровских порогов печенеги перекрыли русичам путь. Отягощенные добычей и не имея достаточных сил для успешного сопротивления, воины Святослава отступили на Белобережье, где и провели всю зиму. Местное население, очевидно, неспособно было прокормить такое количество гостей. Продовольствия просто не хватало на всех. Начался голод. Поэтому едва только весенняя погода позволила продолжать путь, русы двинулись вверх по Днепру.
Печенеги снова поджидали их на порогах. Князь принял бой, в котором погибли и он сам, и большая часть войска. Лишь немногим вместе со Свенельдом удалось пробиться и по суше вернуться в Киев.
Так закончилось время Святослава. Попытка создать империю от Волги до Дуная провалилась. Преемники князя были не в состоянии удерживать под своей властью территории бывшего Каганата. Владимир Святой, занявший трон через шесть лет после гибели отца, направил все усилия на дипломатическое сближение с Византией. Русь, уставшая от заморских походов, требовала от своего правителя не только и не столько воинских качеств (хотя их отсутствием Владимир тоже не страдал), но мудрой и продуманной политики управления. Именно в его эпоху (978 — 1015 гг.) будет налажено управление страной и создан административный аппарат, система сборов даней, реформы которой начались еще при Ольге, окончательно оформится в целенаправленную налоговую политику, Русь из разноплеменной общности окончательно станет государством. Викинги, которыми, по сути, были и Олег, и Игорь, и Святослав, из повседневной реальности в считанные годы отойдут в область преданий, легенд и анахронизмов.