Вскоре греки осадили Доростол с суши, а их флот блокировал крепость со стороны Дуная, отрезав русам пути к отступлению. Падение Преслава Великого и переход царя Бориса на сторону византийцев лишили норманнов последнего союзника. Болгарский гарнизон Доростола готов был последовать примеру царя. Тогда Святослав приказал убить 300 лиц из знатных болгарских семей, находившихся с ним в крепости. Русы непрерывно тревожили греков вылазками из осажденной крепости. В боях у стен Доростола русы пытались биться в конном строю, но, по свидетельству византийских очевидцев, это им плохо удавалось. Исход последнего боя решила атака императорской конницы, закованной в броню.
Русы понесли огромные потери. В бою сложили головы старшие скандинавские конунги Сфенкл и Икмор. После их гибели Святослав обратился к грекам с предложением закончить войну. В глазах императора норманны оставались грозными противниками, и он охотно согласился на мир. Стремясь поскорее удалить русов из Болгарии, византийцы снабдили их продовольствием на дорогу. Каждый воин получил по 2 меры хлеба. По условиям мирного договора 971 г. русы обязались не воевать против Византии, не нападать на Корсунь (Херсонес) в Крыму и на Болгарию, не наводить на империю «других языков». При любом вторжении в Византию князь должен был тотчас выступить с войском на ее защиту. Обязательство о военной помощи носило односторонний характер. Никаких статей о торговле, посольских и купеческих делах в договоре не было.
Имея более 20 000 воинов, Святослав имел возможность пробиться на Русь даже в том случае, если бы дорогу ему преградили степные кочевники. Однако киевский князь увел с Балкан лишь малочисленную дружину. Причина заключалась в том, что его покинули скандинавские викинги. Они, по словам Ибн Хаукаля, ушли через Рум «в Андалуз», иначе говоря, к испанским берегам.
Поражение повлекло за собой распад армии. Хотя разделение сил грозило русам катастрофой. Святославу не удалось удержать в повиновении даже киевское войско. Конунг Свенельд отклонил предложение Святослава вернуться на Русь морским путем и увел отряд по суше. До наступления зимы Свенельд благополучно прибыл в Киев.
Вторжение киевского войска на Балканы причинило наибольший ущерб славянскому государству Болгарии. Болгары нашли случай отомстить недругам. Жители Переяславца предупредили печенегов о возвращении киевского войска на Русь, и те перенесли многочисленные кочевья к днепровским порогам. Святослав не смог пройти пороги, и вынужден был укрыться в днепровских лиманах. Запасы продовольствия, полученные от греков, кончились, в войске начался голод. После трудной зимовки Святослав вновь попытался прорваться через пороги, но попал в засаду и погиб. Его войско было истреблено. Печенежский князь Куря сделал из черепа Святослава чашу для вина.
Киевские летописцы прилежно записали дружинный эпос, запечатлевший героический образ князя-воина. Святослав, по словам летописи, имел храбрую и многочисленную дружину, «легко ходя аки пардус, воины многи творяше. Ходя, воз по собе не возяще… ни шатра имяще, но поклад постлав и седло в головех, тако же и прочии вои его вси бяху». Князь делил с дружиной все тяготы походной жизни, довольствовался грубой пищей и простой одеждой.
Если верить византийскому историку Льву Диакону, в Доростоле Святослав обратился к дружине со словами: «Не пристало нам возвращаться на родину, спасаясь бегством. Мы должны либо победить и остаться в живых, либо умереть со славой, совершив подвиги доблестных мужей». Согласно «Повести временных лет», Святослав призывал свою дружину: «Да не посрамим земле Руские, но ляжем костьми, мертвыи бо срама не имам. Аще ли побегнем, срам имам». Византийские и русские авторы передают речь Святослава в сходных выражениях, но византийская версия представляет Святослава князем-завоевателем, а летописная — великим патриотом Русской земли. Чтобы оценить значение двух версий, вспомним, что Святослав оставил Русь, чтобы основать столицу в Болгарии.