Святослав предпринимает набеги к югу от Балкан и в 970 г., овладев Филиппополем, подступает к Адрианополю.
Между тем Никифор был убит знаменитым полководцем Иоанном Цимисхием, который, вступив на престол, старался переговорами склонить Святослава возвратить завоеванные области, иначе грозил войной. На это Святослав отвечал: «Да не трудится император путешествовать в нашу землю: мы скоро поставим шатры свои перед византийскими воротами, обнесем город крепким валом и, если он решится выступить на подвиг, мы храбро его встретим». При этом Святослав советовал Цимисхию удалиться в Малую Азию.
Война разгорелась, и Святослав понес вскоре поражение под Адрианополем, причем, имея громадные потери, отступил к Дунаю.
Войска греков из Адрианополя пришлось отозвать в Малую Азию и направить против восставшего Варды Фоки, брата убитого Никифора. Положение Цимисхия стало крайне затруднительным, и надо было предпринять решительные действия для обуздания завоевательских нападок русов. Но для этого требовались значительные приготовления, окончить которые нельзя было ранее весны следующего года; да к тому же в наступившее зимнее время переход через Гемский хребет (Балканы) считался невозможным. Ввиду этого Цимисхий снова завел переговоры со Святославом, послал ему дорогие подарки, обещая прислать дары и весной, и, по всем вероятиям, дело закончилось заключением предварительного договора о мире. Этим и объясняется, что Святослав не занял горные проходы (клиссуры) через Балканы.
Весной 971 г. Цимисхий, пользуясь распыленностью войска Святослава по всей Болгарии и его уверенностью в мире, неожиданно выслал из Суды флот из 300 судов с приказанием войти в Дунай, а сам с войсками двинулся к Адрианополю. Здесь император был обрадован известием, что горные проходы не заняты русами, вследствие чего Цимисхий с 2 тысячами конных латников во главе, имея сзади 15 тысяч пехоты и 13 тысяч конницы, а всего 30 тысяч, беспрепятственно прошел страшные клиссуры и 12 апреля совершенно неожиданно для русов подошел к Преславе, занятой воеводой Святослава Сфенкелом. На другой день Цимисхий, построив густые фаланги, двинулся к городу, перед которым его ожидали на открытом месте русы. Завязался упорный бой, но русы, не имея конницы, не могли устоять против греческих всадников, и, когда те охватили их левое крыло, они вынуждены были отступить в город.
14 апреля прибыли к Цимисхию остальные войска с камнеметными и стенобитными машинами. Торопясь взять Преславу до прибытия на выручку Святослава, греки, без труда разбив деревянные стены, пошли на приступ и после отчаянного боя овладели городом. Сфенкел отступил за стены царского дворца, откуда продолжал обороняться, пока Цимисхий не приказал зажечь дворец. Выгнанные пламенем из дворца, русы отчаянно отбивались и почти все были истреблены, только самому Сфенкелу с несколькими воинами удалось пробиться к Святославу в Доростол.
В Преславе греками был взят в плен болгарский царь Борис, которого Цимисхий отпустил на свободу, даже заключив с ним союз.
В это время усилия Святослава стянуть войска к Доростолу не могли увенчаться успехом, если принять во внимание, с одной стороны, неожиданность для него развязывания войны, а с другой — быстроту действий Цимисхия: уже через 10 дней Святослав был настигнут греками под Доростолом. Этим и объясняется, почему Святослав, всегда первым нападавший на врага, даже не выступил навстречу Цимисхию. Это было теперь даже благоразумно, так как с наличными силами и без конницы он легко мог быть окружен и отрезан от Доростола превосходной многочисленной греческой конницей. Между тем в Доростоле находились все его ладьи, а Дунай был для него единственным путем отступления.
23 апреля произошел передовой бой у Доростола, а 24-го Цимисхий был атакован за стенами города.
25 апреля Цимисхий попытался, но неудачно, овладеть городом приступом. Вечером же русы снова предприняли масштабную вылазку, причем, по летописным источникам византийцев, они в первый раз попробовали действовать в конном строю, но, имея дурных коней, набранных в крепости и не привыкших к бою, были опрокинуты греческой конницей. В тот же день подошел греческий флот и расположился на Дунае против города, вследствие чего русы были окончательно обложены и не смели более выходить на своих ладьях, боясь греческого огня. Для безопасности Святослав приказал вытащить лодки из воды и поставить их на берегу.