28 апреля к осажденному городу подошли обозы с осадными машинами. Византийские мастера стали налаживать поставленные возле лагеря многочисленные баллисты и катапульты, метавшие на большие расстояния камни, бревна, тяжелые стрелы, глиняные горшки с «греческим огнем». Император Цимисхий решил на следующий день придвинуть их под крепостные стены и начать обстрел.
Однако князь Святослав сумел упредить такое намерение императора-полководца. Русичи за одну ночь вырыли поодаль от крепостных стен глубокий и широкий ров, преградивший тяжелым осадным машинам путь к городу. Весь день, как сообщает византийский хронист, русские и византийские лучники вели жаркую перестрелку через ров. Однако сколько-нибудь заметных потерь стороны не понесли.
Святослав решил не давать осаждающим спокойной жизни. Той же ночью, воспользовавшись непогодой, его дружинники на ладьях незаметно проплыли по мелководью между берегом и стоявшим на якорях византийским флотом и неожиданно напали на неприятельские обозы. В ночной резне погибло много византийцев и было уничтожено немало провианта для императорской армии.
Осада крепости Доростол затягивалась. Византийцы все же сумели по возможности приблизить к крепостным стенам свои осадные машины. Теперь армия императора Иоанна Цимисхия имела явное «техническое» преимущество. Лев Диакон писал по этому поводу: «…каждый день от ударов камней, выбрасываемых машинами, погибало множество скифов (русичей)».
В Доростоле появилось много раненых, иссякали запасы продовольствия. С 29 июня наступил трехнедельный перерыв в боевых действиях. Стороны выжидали, что обстановка изменится для них к лучшему.
Византийский император не мог уйти от Доростола по той причине, что это было бы равнозначно военному поражению и он мог потерять свой трон, на который возвели его заговорщики, убившие Никифора II Фоку. К тому же у Цимисхия оказался слабый тыл — империю постоянно потрясали мятежи. На это и возлагал немалые надежды князь Святослав. В таком случае противники начали бы вести переговоры о мире в условиях, когда под императором зашатался престол.
Такого случая Святослав дождался. Лазутчик, пробравшийся сквозь вражеские заставы, принес в осажденную крепость важную весть. Брат убитого императора Никифора II Фоки Лев Куропалат поднял мятеж против правителя империи. Теперь оставалось только доказать императору Иоанну Цимисхию то, что русское войско, сидевшее в осаде, еще сильно и способно защищаться в Доростоле долго.
Святослав решил прежде всего уничтожить осадные машины, которые доставляли столько бед осажденным. В полдень 19 июля, когда византийцы привычно спали после сытного обеда, русичи неожиданно вышли из крепости, изрубив и сжегши немало катапульт и баллист. На следующий день они вновь вышли за крепостные стены, но уже большими силами. Император бросил против них свою панцирную конницу. Однако пешие русичи бились с катафрактами на равных и нанесли им тяжелые потери.
Последнее сражение под стенами Доростола произошло 22 июля. Князь Святослав вывел в поле все войско и приказал запереть за собой городские ворота, чтобы никто без его приказа не мог в случае поражения укрыться за крепостными стенами. Перед этим киевский князь собрал военный совет, на котором решался только один вопрос: как действовать дальше?
Лев Диакон пишет, что 21 июля 971 года «на рассвете Святослав созвал совет знати… Когда они собрались вокруг него, Святослав спросил у них, как поступить. Одни высказали мнение, что следует поздней ночью погрузиться на корабли и попытаться тайком ускользнуть, потому что невозможно сражаться с покрытыми железными доспехами всадниками, потеряв лучших бойцов, которые были опорой войска… Другие возражали, утверждая, что нужно помириться с ромеями…
Тогда Святослав глубоко вздохнул и воскликнул с горечью: „Погибла слава, которая шествовала вслед за войском росов, легко побеждавшим соседние народы и без кровопролития подчинявшим целые страны, если мы теперь позорно отступим перед ромеями. Итак, проникнемся мужеством, вспомним о том, что мощь русов до сих пор была несокрушимой… Не пристало нам возвращаться на родину, спасаясь бегством; мы должны либо победить и остаться в живых, либо умереть со славой“».
Византийский историк, описывая жизнь осажденной Доростольской крепости, пользовался сведениями многочисленных лазутчиков, засылаемых в стан русского войска.