Чтобы выиграть время, Цимисхий, как опытный дипломат и один из лучших полководцев своего времени, постарался усыпить бдительность Святослава. Он вступил с ним в мирные переговоры, отправил русскому князю подарки и часть дани, обещая остальную заплатить весной. Пока велись переговоры, Цимисхий приказал флоту, численностью в 200 судов, запасаться продовольствием, вооружиться огнеметными машинами и идти в Дунай. Таким искусным маневром он надеялся блокировать Святослава, который находился в Доростоле. Сам Цимисхий с сухопутными войсками двинулся к Адрианополю. Здесь от лазутчиков он узнал, что ведущие к Преславе балканские клисуры (проходы) не охраняются русами. Видимо, Святослав, доверившись мирному договору, не обратил внимания на занятие этих важных стратегических пунктов. С 9 по 12 апреля 971 г. Цимисхий с войсками беспрепятственно перешел через теснины в Балканах и осадил Преславу. Нарушение Византией перемирия оказалось для русов полной неожиданностью. Войска Святослава были раздроблены, причем главные силы находились в Македонии, отряд воеводы Сфенкела в Преславе, а сам князь в Доростоле (город Силистра). Штурм Преславы продолжался три дня. Греки не имели успеха до тех пор, пока болгары не открыли ворота. Тогда Сфенкел с оставшимися русами заперся в царском доме, продолжая мужественно защищаться. Греческая армия долго не могла ничего поделать с храбрецами. Наконец Цимисхий приказал поджечь дом. Спасаясь от огня, русы вышли из своего убежища и, окруженные со всех сторон, продолжали еще долго сопротивляться. Большая часть из них погибла, но Сфенкел с небольшим отрядом сумел пробиться и уйти к Доростолу. Вместе с ним или, возможно, чуть раньше, из осажденной Преславы ушел Калокир.
После падения Преславы болгары отказались от союза с Русью и стали переходить на сторону императора. Святослав, оставшись без союзников, собрал все свое войско — около 60-ти тыс
[43], у стен Доростола. Цимисхий медленно шел на встречу Святославу, захватывая по пути многие города, которые без сопротивления переходили под власть императора. Впереди войска шел передовой отряд Феодора из Мисфии. Он должен был вести разведку, сообщая о приближении вражеских войск, их численности, а23 апреля 971 г. в окрестностях Доростола произошло решающее сражение. Войска Святослава, не имея сильной конницы, стояли стеной, сомкнув щиты и копья. Цимисхий выстроил против них фалангу, расположив одетых в панцири всадников по бокам, а лучников и пращников позади фаланги. Войска сошлись в рукопашную, завязался жестокий бой, который продолжался с переменным успехом до самого вечера. Исход сражения был решен атакой латной конницы греков. Русы не выдержали ее натиска, обратились в бегство и укрылись за стенами Доростола. Одержав победу, Цимисхий не торопился с осадой города. Он ждал прихода греческого флота, чтобы блокировать Дунай и не дать русам уйти из города в ладьях. Армия Цимисхия окопалась на высоте против города. Греки вырыли глубокий ров, насыпали вал и на нем воткнули копья с подвешенными щитами. Святослав же, готовясь выдержать длительную осаду, предусмотрительно приказал заковать всех болгар в городе в колодки и цепи.
С приходом флота ромеи начали осаду Доростола. Оборонявшиеся русы метали в греков стрелы, камни и все, что можно было выпустить из метательных орудий. Греки, защищаясь от «скифов», стреляли снизу из луков и пращей. В один из дней русы решили дать бой за стенами крепости. Когда наступил вечер, все ворота города открылись и русы