Как ни преувеличивали ромеи свою победу в поле, взять столицу Болгарского царства с ходу им не удалось. «Оставшиеся в живых, — продолжает Лев, — спрятались в крепости и, яростно сопротивляясь, метали сверху со стен копья и стрелы. Говорят, что в Преславе находился и патрикий Калокир, который, как я уже сообщил в свое время, двинул войско росов на мисян. Узнав о прибытии императора — а это невозможно было скрыть, так как золотые императорские знаки сияли чудесным блеском, — он глубокой ночью тайно бежал из города и явился к Сфендославу, который со всем своим войском находился у Доростола».
Русским гарнизоном Преслава, где на свободе жил болгарский царь Борис с семьей и во дворце хранилась его казна, командовал воевода Сфенкел, «который был у скифов третьим по достоинству после Сфендослава, их верховного катархонта». Когда наутро 13 апреля 971 года ромеи, подтянув главные силы и большое число катапульт, пошли на штурм, он не смог удержать слишком длинные для гарнизона стены города. Росы «оборонялись за зубцами стен и изо всех сил отражали натиск ромеев, бросая сверху дротики, стрелы и камни. Ромеи же стреляли снизу вверх из камнеметных орудий, забрасывали осажденных тучами камней, стрелами и дротиками, отражали их удары, не давали им возможности выглянуть из-за зубчатых стен без вреда для себя». Ромеи сумели взобраться на стены по многочисленным лестницам, однако росы в порядке отступили в царский дворец и выстроились в его дворе, оставив одни ворота открытыми.
«Ромеи все разом ворвались в город и рассыпались по узким улицам, убивали врагов и грабили их добро, — повествует далее Лев. — Так они достигли царского дворца, в котором сгрудилась лучшая часть войска росов. Но скифы, находившиеся во дворце, яростно сопротивлялись проникшим через ворота ромеям и убили около полутораста храбрейших воинов. Узнав об этой неудаче, император прискакал во весь опор ко дворцу и приказал своей гвардии всеми силами наступать на врага. Но, увидев, что из этого не выйдет ничего хорошего — ведь тавроскифы легко поражали множество воинов, встречая их в узком проходе, — он остановил безрассудное устремление ромеев и распорядился со всех сторон бросать во дворец через стены огонь. Когда разгорелось сильное пламя, сжигавшее все на своем пути, росы, числом свыше семи тысяч, вышли из помещения, выстроились на открытом месте у дворца и приготовились отразить наступление.
Император, — завершает Лев свой рассказ о битве за Преслав, — послал против них магистра Варду Склира с надежным отрядом. Окружив скифов фалангой храбрейших воинов, Склир вступил в бой. Завязалось сражение, и росы отчаянно сопротивлялись, не показывая врагам спины; однако ромеи [победили] своим мужеством и военной опытностью и всех их перекололи. В этой битве погибло также множество мисян, сражавшихся на стороне врагов против ромеев, виновников нападения на них скифов. Сфенкелу с немногими удалось спастись бегством. Он ушел к Сфендославу».
Согласно хронике Скилицы, когда все атаки ромеев на дворец были отражены, император лично вступил в бой. «Вооружившись, он сам устремился пешим впереди прочих воинов, которые при виде этого тотчас же схватили оружие и бросились за ним; каждый спешил опередить государя, и с военным кличем и шумом они кинулись на укрепление». И… были отбиты, как рассказал нам и Лев. Заставить росов покинуть Преслав удалось только огнем, когда ромеи со всех сторон подожгли дворец.