Утром 13 апреля подошли главные силы имперской армии, подвезли осадные машины и Цимисхий объявил генеральный штурм Преслава. Метательные машины крушили городские стены и башни, каменные ядра сбивали защитников с боевых площадок. По приставным лестницам ромеи устремились на городские укрепления, дружинники стрелами, копьями и камнями поражали вражеских воинов, удерживая периметр укреплений. Исход противостояния решил численный перевес ромеев. Первым на городскую стену взобрался воин по имени Феодосий Месоникт (7, 71), следом поднялись его товарищи. На стенах и башнях Преслава закипели рукопашные схватки, ромеи пытались прорваться в город, русские сдерживали их натиск. Цимисхий постепенно вводил в бой свежие войска, византийцы спрыгивали со стен внутрь города и спешили к воротам. Сбив петли и открыв засовы, солдаты впустили в город императора с гвардией. Увидев, что враг вошел в Преслав, Сфенкел приказал дружинникам отступить в царский дворец. Пока ромеи были увлечены грабежом, Сфенкелу удалось увести в цитадель 8000 ратников и закрепиться на новых позициях (7, 126). Множество ромеев, проникших во дворец, было перебито, так продолжалось до тех пор, пока к цитадели не прибыл Цимисхий. Поскольку попытка прорваться во дворец закончилась неудачей, император решил лично возглавить атаку. Цимисхий спрыгнул с коня, взял у телохранителя щит и первым бросился на врага. Но русские сражались отчаянно, отразили все атаки и тогда император распорядился поджечь дворец. Сфенкел вывел ратников из дворца, выстроил в колонну и повел на прорыв из города. Вместе с русскими сражались и болгарские воины, не желавшие господства ромеев. Против Сфенкела император отправил магистра Варду Склира с отборными войсками. Бои продолжились на улицах города, почти все русские воины погибли, лишь Сфенкелу с небольшим количеством дружинников удалось вырваться из Преслава и уйти в Доростол. Как отметил Скилица, «город не устоял и был взят за два дня» (7, 126). Ромеи захватили болгарского царя Бориса, проживавшего в Преславе.

Прорыв имперской армии через горы Гем и быстрое падение Великого Преслава предрешили исход русско-византийской войны 970–971 гг., это была величайшая победа Цимисхия как тактика и стратега. Огромную роль сыграла и безответственность русских военачальников, их неспособность предвидеть вероятные действия противника. После таких катастрофических неудач у Святослава не осталось шансов на победу в войне, но киевский князь ещё об этом не догадывался.

3. Оборона Доростола (25 апреля – 24 июля 971)

По свидетельству византийского историка Иоанна Скилицы, князь Святослав «пришел в замешательство» (7, 126), когда узнал о падении Великого Преслава. Об этом пишет и Лев Диакон: «Сфендослав, узнав о поражении у Преславы, испытывал огорчение и досаду» (7, 73). Действительно, война началась не так, как планировал киевский князь. Святослав привык всегда первым атаковать противника и навязывать ему свою волю, теперь же князь сам был вынужден защищаться. Несмотря на численное превосходство ромеев, Святослав не собирался отсиживаться за стенами крепости и решил встретить армию Цимисхия на ближних подступах к Доростолу.

Информация о численности русской рати противоречива. Согласно «Повести временных лет» во время кампании во Фракии в 970 г. под командованием Святослава было 10 000 воинов. Об этом киевский князь говорил посланцам императора во время переговоров: «И сказал им Святослав: «Нас двадцать тысяч». Десять тысяч он прибавил, ибо было русских всего десять тысяч