Святослав быстро собрал свое войско, стоявшее гарнизонами по болгарским крепостям, и стремительно двинулся по Дунаю, Черноморью и Днепру к Киеву. Конница русичей шла по степи облавой, загоняя печенежские кочевья к речным обрывам. А по Днепру двигались ладьи Святослава с ратниками. Спасения печенегам не было, немногим удалось прорваться на юг. Табуны прекрасных степных коней стали добычей победителей.
Войско Святослава с триумфом вошло в Киев. Но теперь из Болгарии, от которой Святослав и не думал отказываться, приходили тревожные вести, которые грозили свести на нет все успехи первого похода за Дунай.
В 969 году царь Болгарии Петр I отрекся от престола в пользу своего сына Бориса II. Тот сразу же объявил о мире и союзе с Византийской империей. Однако новый царь не получил поддержки своих подданных: и феодалы, и простой народ желали подчиняться князю Святославу, не посягавшему на их свободу и права.
Святослав отправился во второй болгарский поход только после смерти матери, княгини Ольги. Оставив править княжеством сыновей — Ярослава, Олега и Владимира, князь-воитель в августе 969 года вновь двинулся на берега Дуная. К нему по пути присоединились болгарские дружины, а также легкая венгерская и печенежская конница. Княжеское войско подошло к столице Болгарии. Защищать ее было некому, и царь Борис признал себя вассалом киевского князя.
Тем временем в Константинополе произошел дворцовый переворот, и заговорщики убили Никифора II Фоку. Новым императором стал известный полководец Иоанн Цимисхий, прославившийся победами в Малой Азии. Византийцы начали переговоры со Святославом, но тот сразу отверг их главное требование — уходить из Болгарии он не желал.
Император Иоанн Цимисхий вызвал в Константинополь самых опытных полководцев Византии — Варда Склира и победителя арабов патриция Петра — и велел им готовиться к войне против Святослава. Киевскому князю стало известно о приготовлениях византийцев, и он сам пошел в поход на Царьград.
Весной 970 года войско стремительно пересекло болгарскую землю и Балканские горы, разбив там неприятельские заслоны. Пройдя около 400 километров, оно вошло в византийскую провинцию Фракию и осадило город-крепость Аркадиополь.
Под Аркадиополем и произошло первое сражение Святославова войска с византийским под командованием Варды Склира. Императорская армия понесла большие потери, и ее остатки закрылись в крепости. А Святослав Игоревич часть своих отрядов направил от осажденного ими города в соседнюю Македонию.
Тогда император Иоанн Цимисхий откупился от князя, предложив ему большую дань. Войско русичей и их союзники — болгары, венгры и печенеги — покинули Фракию и Македонию. Византийская империя стала сразу же готовиться к новой войне.
Цимисхий стянул войска со всей Византийской империи. В конце марта 971 года в проливе Босфор прошел смотр флота, имевшего на вооружении так называемый «греческий огонь» — смесь смолы, серы и нефти. Перед византийскими кораблями стояла задача блокировать устье Дуная, чтобы отрезать ладьям русичей путь к отступлению.
Весной 971 года византийский император во главе двухтысячной гвардии «бессмертных» торжественно выступил в поход из Константинополя. В Адрианополе к нему присоединилась огромная армия. 23 апреля император Иоанн Цимисхий после стремительного марша подошел к городу-крепости Доростолу. Первое сражение под его стенами русичи выиграли, уничтожив из засады большой передовой отряд византийских всадников. Но это не остановило императорскую армию, выходившую на равнину перед Доростолом. Однако там византийцев уже поджидали русичи: рать князя окружила крепостные стены плотным строем, прикрывшись червлеными щитами и выставив копья. Иоанн Цимисхий приказал начать общую атаку, но русичи отразили даже таранный удар тяжеловооруженной византийской конницы. Пробить строй пехоты Святослава она не смогла. На этом битва закончилась: византийцы отошли в свой лагерь, русичи — за крепостные стены.
Положение русичей ухудшилось, когда по Дунаю к Доростолу подошел многочисленный неприятельский флот. Чтобы спасти свои ладьи от «греческого огня», воины киевского князя отнесли их на руках под самые крепостные стены и оставили под защитой лучников.
26 апреля 971 года князь Святослав вновь вывел свое войско в поле. Русичи бились врукопашную и простояли на равнине всю ночь, однако византийцы не стали продолжать сражение. Зато через два дня к Доростолу подошли обозы с баллистами и катапультами, метавшими на большие расстояния камни, бревна и глиняные горшки с «греческим огнем». Однако подвезти тяжелые метательные машины близко к крепостным стенам византийцам не удалось: русичи за одну ночь выкопали на их пути широкий и глубокий ров.