Военные действия развивались следующим образом: когда ладьи Святослава достигли устья Дуная, то были встречены болгарским войском, численность которого Лев Диакон определяет в 30 тысяч воинов. Болгарам, несмотря на численное преимущество, не удалось помешать организованной высадке княжеского войска. После высадки русские воины сомкнули щиты и с мечами атаковали болгар. Последние не выдержали атаки и панически бежали. Святослав не преследовал вражеское войско (видимо, предполагая у противника наличие больших резервов и боясь идти на риск со своими небольшими силами), и болгары сумели укрыться в крепости Доростол. Однако удержаться там они не смогли и Доростол была захвачен Святославом, а остатки болгарского войска уничтожены.
Очень быстро Святослав захватил всю придунайскую Болгарию, овладел многими городами и своей резиденцией сделал Переяславец на Дунае (сейчас это территория Румынии). Князь явно хотел сделать этот город второй (а возможно, и единственной) столицей Киевской Руси, а захваченные болгарские земли включить в состав своего государства. Это, в том числе, означало, что Святослав решил далее не соблюдать соглашения с Византией, союзником которой он изначально выступал, а действовать полностью самостоятельно.
В Константинополе поняли, что теперь русская опасность значительно больше болгарской и начали готовиться к скорому неминуемому столкновению. Среди предпринятых византийцами мер было заграждение входа в Босфор специальной цепью и снаряжение тяжеловооруженной конницы, а также срочное сооружение новых метательных орудий. Можно предположить, что и начавшаяся одновременно осада печенегами Киева началась в результате их подкупа византийцами.
Именно из-за осады столицы Киевской Руси сильным печенежским войском в этом же году победитель болгар был вынужден немедленно возвратиться. Причем печенежская осада была настолько плотной, что, по словам летописца, «нельзя было коня напоить на Лыбеди». Срочно вернувшийся Святослав отогнал печенегов от Киева далеко в степь, для этого ему не понадобилось вступать с ними в серьезное сражение. Кочевники, сильно напуганные появлением прославленного полководца, быстро отступили от Киева – так что речь могла идти лишь о нескольких небольших стычках.
Устранив печенежскую опасность, Святослав вновь направился в 969 г. в Болгарию, куда он уже открыто хотел перенести столицу Как рассказывается в «Повести временных лет», Святослав сказал княгине Ольге следующее: «Не любо мне сидеть в Киеве, хочу жить в Переяславце на Дунае – ибо там середина земли моей, туда стекаются все блага: из Греческой земли – золото, паволоки, вина, различные плоды, из Чехии и из Венгрии серебро и кони, из Руси же меха и воск, мед и рабы».
Но когда великий князь Киевский пришел в Болгарию, ему пришлось вновь восстанавливать утраченные позиции. Разгромленные в первом походе болгары за время отсутствия Святослава сумели собрать новое большое войско и оказали ему сильное сопротивление. Их войско было собрано в крепости Преслав южнее Переяславца (хотя Нестор пишет о Переяславце, но, скорее всего, он просто спутал похожие названия), откуда болгары совершили вылазку против Святослава. Вначале болгары начали одолевать, но Святослав сумел переломить ситуацию. По утверждению Нестора, во время сражения Святослав сказал своей дружине: «Здесь нам и умереть; постоим же мужественно, братья и дружина!» Будучи разбиты, болгары вновь отступили за крепостные стены, но великий князь Киевский взял Преслав штурмом.
Преследование отступающего русского войска византийцами. Миниатюра из «Истории византийских императоров в Константинополе с 811 по 1057 год, написанная куропалатом Иоанном Скилицей». XII век
Повторно разгромив болгар, Святослав открыто сообщил новому византийскому императору Иоанну I Цимисхию (его предшественник был убит в результате заговора), что собирается захватить Константинополь: «Хочу идти на вас и взять столицу вашу, как и этот город».
В ответ император через своих послов предложил великому князю Киевскому выплатить крупную дань, а потом, видя, что это слишком мало для Святослава, начал угрожать силой своего войска.
В ответ на угрозы Святослав сказал послам передать их императору следующее: «Не вижу никакой необходимости, побуждающей римского государя к нам идти; посему да не трудится путешествовать в нашу землю; мы скоро сами поставим шатры свои перед византийскими воротами, обнесем город крепким валом и, если он решится выступить на подвиг, мы храбро его встретим, покажем ему на самом деле, что мы не бедные ремесленники, живущие одними трудами, но храбрые воины, побеждающие врагов оружием».