Осада затягивалась. И хотя в крепости оставалось мало продовольствия, воины Святослава 19 июня совершили вылазку из крепости (императорская армия как раз отдыхала после обеда) и изрубили множество баллист и катапульт. На следующий день рать князя вновь вышла из стен крепости и в бою нанесла ощутимый урон панцирной коннице катафрактариев. За время осады оборонявшиеся потеряли 15 тысяч человек, а их противник – 15–20 тысяч убитыми в многочисленных схватках под крепостными стенами.
Последняя битва под стенами Доростола произошла 21 июля. Князь Святослав приказал запереть за собой ворота, чтобы никто без его приказа в случае поражения не мог укрыться за крепостными стенами. Удар пешего войска русичей был настолько сильным, что византийская армия попятилась к своему лагерю. В этой критической ситуации император Иоанн Цимисхий сам повел в атаку полк «бессмертных», отборную часть своего войска. Сражение прекратилось неожиданно – началась сильная гроза, поднялся шквальный ветер и полил дождь. Русичи, забросив за спину щиты, по сигналу трубы возвратились в крепость.
На следующий день после демонстрации силы русского войска киевский князь начал переговоры с императором Иоанном Цимисхием. Византийцы были рады такому исходу войны: русичи по своей воле покидали Болгарию и уходили на Русь. Их даже обеспечили продовольствием на обратную дорогу. На каждого из 22 тысяч русских воинов было выдано по две меры зерна.
Условия ухода рати русичей с берегов Дуная были почетными. Но прежде чем князь Святослав оказался в устье Дуная, в кочевья печенегов прибыл полномочный посол византийского императора епископ Феофил. Он хорошо заплатил степным вождям за нападение на возвращавшегося в Киевскую Русь князя Святослава.
Приплыв на ладьях в устье Дуная, войско Святослава разделилось. Конную дружину возглавил варяг Свенельд, и она двинулась по степям и лесам в Киев. Воевода Свенельд убеждал Святослава: «Обойди, князь, пороги на конях, ибо стоят у порогов печенеги». Но гордый Святослав не захотел обходить опасность. Ладьи русичей, имея на борту много раненых и больных, двинулись вверх по Днепру. У днепровских порогов Святослав понял, что ему не прорваться через печенежскую конницу. Князь велел повернуть назад, чтобы перезимовать на островах в Белобережье. Но зимовка оказалась очень тяжелой – люди питались одной рыбой без соли.
Весной 972 года князь вместе с оставшимися в живых воинами вновь двинулся вверх по Днепру. На днепровских порогах Свято-слава уже поджидали печенеги во главе с князем Курей. Подробности последней битвы Святослава Игоревича не известны: у порогов вместе князем погибла вся его дружина.
Вильгельм I Завоеватель