Ketika orang-orang Bulgar menggerebek tanah Bizantium sejak 976, pemerintah Bizantium berusaha menyebabkan perselisihan di antara mereka dengan membiarkan pelarian kaisar mereka Boris II dari Bulgaria. Cara ini gagal, sehingga Basil menggunakan jeda dari konfliknya dengan kaum bangsawan untuk memimpin pasukan 30.000 orang ke Bulgaria dan mengepung Sredets (Sofia) pada tahun 986. Mengambil kerugian dan khawatir tentang kesetiaan beberapa gubernurnya, Basileios mengangkat pengepungan dan kembali ke Trakia, tetapi dia jatuh ke dalam penyergapan dan menderita kekalahan serius di Pertempuran Gerbang Trajanus. Basileios melarikan diri dengan bantuan Pengawal Varangianya dan berusaha untuk membuat kerugiannya dengan mengubah saudara laki-laki Samuil, Harun, melawannya. Harun tergoda dengan tawaran Basileios dari saudara perempuannya, Anna, dalam pernikahan (Anna yang sama yang menikah dengan Vladimir I dua tahun kemudian), tetapi negosiasi gagal ketika Aaron menemukan bahwa pengantin yang dikirimnya palsu. Pada tahun 987 Harun telah dieliminasi oleh Samuil, dan Basileios sibuk melawan Skleros dan Fokas di Asia Kecil. Meskipun kaisar tituler Roman dari Bulgaria ditangkap pada tahun 991, Basileios kehilangan Moesia kepada orang-orang Bulgaria. Pada tahun 992, Basileios II mengakhiri sebuah perjanjian dengan Pietro II Orseolo dengan syarat mengurangi tugas-tugas adat Venesia di Konstantinopel dari 30 "nomismata" ke 17 "nomismata". Sebagai imbalannya, Venesia setuju untuk mengangkut pasukan Bizantium ke Italia selatan pada saat perang.