На исходе марта 971 года в проливе Босфор император Цимисхий произвел смотр огненосному флоту Византии. В учении участвовало более трехсот различных больших мореходных огней. Так называемый «греческий огонь» — смесь смолы, серы и нефти — была самым действенным оружием византийского флота против ладейных флотилий русичей. На сей раз императорскому флоту предстояло решать задачу блокады устья Дуная, чтобы отрезать ладейному флоту русичей путь к отступлению.
Весной 971 года император Иоанн Цимисхий во главе двух тысяч «бессмертных» торжественно выступил в поход из своей столицы. В Адрианополе его поджидало остальное войско Византийской империи. Лев Диакон писал о походе в Болгарию: «Впереди… двигалась фаланга воинов, сплошь закрытых панцирями и называвшихся „бессмертными“, а сзади — около пятнадцати тысяч отборнейших гоплитов (пеших воинов) и тринадцать тысяч всадников. Заботу об остальном войске император поручил проедру Василию; оно медленно двигалось позади вместе с обозом, везя осадные и другие машины».
Как опытный полководец, Цимисхий, уже познавший возможности князя Святослава на войне, испытывал серьезные опасения. Не случайно византийский хронист передал его слова, сказанные военачальникам перед походом: «счастье наше поставлено на лезвие бритвы». С ним не спорили, поскольку все понимали, насколько опасный противник пришел из Руси к границам империи.
Единственную возможность избежать поражения в столкновении со Святославом император Иоанн Цимисхий видел в том, что нападение византийцев будет целиком и полностью неожиданным. Поэтому он требовал провести войска в Северную Болгарию «по ущельям и крутым теснинам». Понимая заведомое превосходство русичей в ратном искусстве, Цимисхий сказал: «Если мы… неожиданно нападем на них, то, я думаю, — да поможет нам Бог!.. — обуздаем безумие русов».
Без предупреждения о нарушении перемирия огромное по тем временам войско Византии начало вторжение в Болгарию. Его стремительный бросок через Гимейские горы подтвердил громкую славу полководца Иоанна Цимисхия, волей судьбы ставшего императором. 12 апреля 971 года императорские полки неожиданно появились перед стенами болгарской столицы Преславы. В ней находился царь Борис и отряд русичей под командованием воеводы Сфенкела. Вместе с болгарскими дружинниками для защиты города набиралось всего 8,5 тысячи человек.
Воеводу Сфенкела не смутила численность подступившего к городу врага. Он смело вывел из крепости русские и болгарские дружины и дал сражение византийцам. Только яростные атаки тяжеловооруженных «бессмертных» на левый фланг противника заставили Сфенкела увести своих воинов обратно в крепость. Началась осада Преславы.
Византийцы попытались с ходу взять крепость, но, осыпаемые градом стрел, были вынуждены отойти. На следующий день прибыли осадные машины проедра Василия. Камнеметные машины обрушили на стены болгарской столицы каменные глыбы, горшки с «греческим огнем». Защитники несли тяжелые потери, но продолжали держаться, отбивая штурмы. Все же силы сторон оказались явно неравными.
Через два дня византийцы ворвались в пылающий город. Последние схватки разгорелись у царского дворца. Вырваться из города удалось лишь дружине воеводы Свенельда и части болгарских дружинников. Они отправились в Доростол, где пребывал князь Святослав. Царь Борис и его семья попали в плен к победителям.
После взятия Цимисхием болгарской столицы, где в жестокой сече погиб большой отряд русичей, обстановка на театре военных действий изменилась не в пользу князя Святослава. Он, застигнутый врасплох, оставался в чужой стране без союзников и почти без конницы. До сих пор Святослав нападал первым; теперь же должен был ждать, пока на него нападут, искать спасения в обороне. Такой способ ведения войны был не по нем.
17 апреля император Иоанн Цимисхий быстрыми маршами двинулся из Преславы к Доростолу. Города между Гимейскими горами и рекой Дунай, покинутые русскими гарнизонами, сдавались без боя. Болгарские феодалы вместе со своими дружинами переходили на сторону императора, увеличивая и без того огромное византийское войско.
23 апреля византийцы подошли к городу-крепости Доростолу. Впереди шли сильные конные дозоры, которые внимательно осматривали местность — нет ли где засады. Однако первую схватку с защитниками Доростола византийцы проиграли. На малоазийских всадников под начальством Феодора Мисфианина русичи напали из засады и в ожесточенной схватке перебили всех.
Однако это не остановило императора Цимисхия — его войско, не нарушая строя, готовое к любым неожиданностям, медленно подошло к Доростолу. Перед городом расстилалась большая равнина, удобная для битвы, местами пересеченная речушками и ручьями. Виднелся полноводный по весне Дунай. Издали стены крепости казались невысокими и совсем не грозными. Но византийцы знали, что их толщина достигала двенадцати локтей, а до зубчатого гребня могли дотянуться только самые длинные штурмовые лестницы. Двое крепостных ворот выходили прямо в поле, их защищали массивные каменные башни.
Когда византийское войско приблизилось к Доростолу, русские дружины уже ожидали его, совсем готовые к битве. Русичи плотно сомкнули свои червленые щиты, выставили вперед копья и стояли, ощетинившись, грозной стеной. Князь Святослав знал, что главной ударной силой неприятеля была тяжеловооруженная, панцирная конница — катафракты. Им и противопоставил он плотный ряд своих пеших воинов, вооруженных не хуже византийцев.