A partir da década de 940, os magiares passaram a lançar repetidos raides em território búlgaro. O imperador Pedro não conseguia impedi-los e, como os bizantinos não se prontificavam a ajudá-lo, ele acabou finalmente se aliado aos invasores e deu-lhes um salvo-conduto para que passassem pela Bulgária a caminho das ricas terras da Trácia bizantina. Em 968, o imperador bizantinoNicéforo II Focas retaliou pagando ao cnezo ("príncipe") Esvetoslau para que ele atacasse a Bulgária.
Esvetoslau juntou 60 000 soldados e iniciou sua campanha no início da primavera de 968. Ele encontrou as forças búlgaras, que contava com apenas 30 000 soldados, perto de Silistra. A batalha continuou pelo dia todo e, ao anoitecer, os búlgaros pareciam ter conseguido subjugar os quievanos, mas, inspirados pelo exemplo pessoal do príncipe, as forças de Quieve reverter a situação e, ajudados pelo exército maior, acabaram vencendo. Os búlgaros recuaram para a fortaleza de Silistra e aguentaram o cerco que se seguiu.
As forças dos russos continuaram sua vitoriosa campanha e, mesmo sem terem conseguido tomar Silistra, tomaram 80 outras fortalezas. Esvetoslau terminou, finalmente, sendo forçado a retornar a Quieve depois que a diplomacia búlgara incitou os pechenegues, que cercaram Preslava. Porém, eles retornaram no ano seguinte e arrasaram as terras orientais búlgaras.