Военные действия между Русью и Империей возобновились весной 971 года. Причем случилось это неожиданно для Святослава и при неблагоприятных для него условиях. К этому времени распался союз Святослава с венграми и печенегами. Армия же Цимисхия, напротив, значительно усилилась. Византийские корабли заранее вошли в Истр (Дунай), чтобы воспрепятствовать возможному отступлению русов. Было припасено оружие, продовольствие и все прочее, необходимое для длительной войны. Сам император прибыл в Адрианополь (современный Эдирне), ставший главной базой греческих войск.
В апреле византийская армия прошла сквозь незащищенные ущелья, отделявшие Болгарию от Византии, и внезапно очутилась у Преславы, столицы Болгарского царства. То, что ущелья были оставлены Святославом без всякой охраны, стало, вероятно, его главной и решающей военной ошибкой в ходе всей войны с Византией. В течение двух дней, 12–13 апреля, Преслава была взята. По сообщениям византийских историков, лишь незначительная часть русов во главе со Сфенкелом, ближайшим сподвижником Святослава (может быть, Свенельдом?), сумела уйти к Доростолу, где находился сам князь. Бежал из города и Калокир, которого греки считали главным виновником своих бед. В руки византийцев попал юный болгарский царь Борис, находившийся в Преславе. Иоанн не стал наказывать его за сотрудничество с русами, но, объявив «законным владыкой булгар», воздал ему должные почести. Были отпущены на свободу и пленники-болгары, воевавшие на стороне Святослава.
Эти меры Иоанна, несомненно, способствовали переходу на его сторону населения Болгарии. Святослав же поступал как раз наоборот. Известие о падении Преславы привело его в крайнее раздражение. Обвинив в неудаче «изменников»-болгар, Святослав повелел собрать наиболее родовитых и влиятельных представителей болгарской знати (около трехсот человек) и обезглавить их всех. Многие болгары были брошены в темницы.
Отпраздновав 16 апреля в Преславе Пасху и переименовав город в честь победы в свое имя — Иоаннополь, император Иоанн двинулся на Доростол. Этот хорошо укрепленный город, который славяне называли Дристрой (ныне — Силистрия), служил главной военной базой Святослава на Балканах. По пути ряд болгарских городов (в том числе Плиска — первая столица Болгарии) перешли на сторону греков. В свою очередь и Святослав выступил навстречу врагу. 23 апреля невдалеке от Доростола войска сошлись; произошла кровопролитная битва. И русы, и греки выказали беспримерное мужество. К вечеру, однако, византийцы сумели оттеснить русов к городу. Решающую роль в победе византийцев сыграла конница, вовремя пущенная в дело Цимисхием. Русы, по обыкновению, сражались преимущественно в пешем строю; печенегов же и венгров среди них уже не было.
Начались тяжелые, изнурительные бои за город, продолжавшиеся около трех месяцев. Святослав не считал себя побежденным и отнюдь не бездействовал. Одно за другим у стен Дристры разворачивались кровопролитные сражения. Но каждый раз греки заставляли русских отступать. В этих сражениях погибли главные военачальники русов — Сфенкел (?) и Икмор (русским источникам их имена неизвестны). В свою очередь, во время одной из вылазок русам удалось убить родственника императора Цимисхия Иоанна Куркуаса, руководившего стенобитными орудиями. Из-за богатой одежды русы приняли его за самого императора. Кичась, они насадили отрезанную голову военачальника на копье и выставили ее над городскими стенами.
Византийские хронисты отмечают исключительное мужество и ярость воинов Святослава, не щадивших в бою ни своей, ни чужой жизни. Даже побежденные, они почти не сдавались в плен. «Когда нет уже надежды на спасение, они пронзают себе мечами внутренности и таким образом сами себя убивают, — рассказывал о русах Лев Диакон. — Они поступают так, основываясь на следующем убеждении: убитые в сражении неприятелем, считают они, становятся после смерти и отлучения души от тела рабами его в подземном мире. Страшась такого служения, гнушаясь служить своим убийцам, они сами причиняют себе смерть»{44}.
Последнее, решающее сражение произошло 21 июля{45}. Накануне ночью русы вышли на равнину перед городом и подобрали тела тех, кто погиб днем раньше (среди них было и тело Икмора). Русы положили мертвецов перед стенами, разложили костры и сожгли их, заколов предварительно множество пленных, мужчин и женщин. В числе принесенных в жертву были и грудные младенцы, задушенные русами, а также петухи, которых топили в водах Дуная.