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