Basileios II Boulgaroktonos
Penaklukkan Bizantium di Bulgaria

Basileios juga berusaha memulihkan wilayah-wilayah yang telah lama dikalahkan Kekaisaran. Pada awal milenium kedua, ia mengambil musuh terbesarnya, Samuil dari Bulgaria. Bulgaria telah ditundukkan sebagian oleh Ioannes I Tzimiskes setelah invasi Sviatoslav I dari Kiev, tetapi sebagian negara itu tetap berada di luar kendali Bizantium, di bawah kepemimpinan Samuil dan saudara-saudaranya.
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.
Selama tahun-tahun ketika Basileios terganggu dengan pemberontakan internal dan memulihkan situasi militer di perbatasan timurnya, Samuil telah memperpanjang kekuasaannya dari Laut Adriatik ke Laut Hitam, memulihkan sebagian besar tanah yang telah Bulgaria sebelum invasi Svyatoslav. Dia juga melakukan serangan yang merusak ke wilayah Bizantium sejauh Yunani. Arus berubah pada tahun 996 ketika Jenderal Bizantium Nikiforos Ouranos menjatuhkan kekalahan yang menghancurkan pada tentara Bulgaria yang menyerang di pertempuran di sungai Sperkheios di Thessalia. Samuil dan putranya Gabriel beruntung lolos dari penangkapan.
Mulai tahun 1000, Basileios II bebas untuk fokus pada perang penaklukan langsung melawan Bulgaria, perang yang dituntutnya dengan kegigihan dan wawasan strategis. Pada tahun 1000 jenderal Bizanitum Nikiforos Xifias dan Theodorokanos mengambil ibu kota lama Bulgaria, Veliki Preslav dan kota-kota Preslav Hilir dan Pliskova. Pada 1001, Basileios sendiri, yang beroperasi dari Tesalonika, mampu mendapatkan kembali kendali atas Vodena, Verrhoia, dan Servia. Tahun berikutnya ia mendasarkan pasukannya di Philippopolis dan menduduki sepanjang jalan militer dari Pegunungan Haemus barat ke Donau, dengan demikian memotong komunikasi antara jantung Makedonia Samuil dan Moesia. Setelah keberhasilan ini, Basileios mengepung Vidin, yang akhirnya jatuh menyusul perlawanan yang berkepanjangan. Samuil bereaksi terhadap kampanye Bizantium dengan gerakan berani; ia meluncurkan serangan besar-besaran ke jantung Bizantium Trakia dan mengejutkan kota besar Adrianopel.
Saat kembali ke rumah dengan penjarahannya yang ekstensif, Samuil dicegat di dekat kota Skopje oleh tentara Bizantium yang diperintahkan oleh kaisar. Pasukan Basileios menyerbu kamp Bulgaria, menyebabkan kekalahan besar terhadap orang-orang Bulgaria dan memulihkan perampasan Adrianopel. Skopje menyerah tak lama setelah pertempuran, dan gubernurnya, Romanos, diperlakukan dengan baik oleh Kaisar. Pada tahun 1005, gubernur Dyrrhachium, Asotios Taronites, menyerahkan kotanya ke Bizantium. Pembelotan Dyrrhachium ke Bizantium menyelesaikan isolasi wilayah inti Samuil di dataran tinggi Makedonia barat. Samuil dipaksa bersikap hampir sepenuhnya defensif. Dia secara ekstensif membentengi jalan dan rute dari pantai dan lembah yang dipegang oleh Bizantium ke wilayah yang tersisa di miliknya. Selama beberapa tahun berikutnya, serangan Bizantium melambat dan tidak ada hasil yang signifikan, meskipun pada tahun 1009 sebuah upaya oleh orang-orang Bulgaria untuk menyerang balik dikalahkan pada Pertempuran Kreta, yang bertempur di sebelah timur Tesalonika.
Pada 1014 Basileios siap meluncurkan kampanye yang bertujuan menghancurkan perlawanan Bulgaria. Pada tanggal 29 Juli 1014, Basileios II dan jenderalnya Nikephoros Xiphias mengalahkan tentara Bulgaria, yang mempertahankan salah satu lintasan berbenteng, dalam Pertempuran Kleidion. Samuil menghindari penangkapan hanya melalui keberanian putranya Gabriel. Setelah menghancurkan orang-orang Bulgaria, Basil melakukan pembalasannya dengan kekejaman - ia dikatakan telah menangkap 15.000 tahanan dan membutakan 99 dari setiap 100 orang, meninggalkan satu orang bermata satu di setiap kelompok untuk memimpin sisanya kembali kepada penguasa mereka. Samuil secara fisik diserang oleh penampakan mengerikan dari pasukannya yang buta dan meninggal dua hari kemudian, pada tanggal 6 Oktober 1014, setelah menderita stroke. Meskipun penganiayaan tahanan Bulgaria mungkin telah dibesar-besarkan, insiden ini membantu memunculkan julukan Yunani Boulgaroktonos dengan Basileios II, yang berarti "Pembunuh-Bulgar", dalam tradisi kemudian. Rekaman pertama dari istilah Boulgaroktonos dengan Basileios II berasal dari beberapa generasi setelah kematiannya. Tampaknya telah memasuki penggunaan umum di antara Bizantium pada akhir abad ke-12, ketika Kekaisaran Bulgaria Kedua memisahkan diri dari kekuasaan Bizantium dan eksploitasi bela diri Basileios terhadap Bulgaria menjadi tema propaganda kekaisaran. Jadi itu digunakan oleh sejarahwan Nikitas Choniatis dan penulis Nikolaos Mesaritis, dan secara sadar dibalik oleh penguasa Bulgaria Kaloyan, yang menyebut dirinya sendiri "Pembunuh Romawi" (Rhomaioktonos). Sebelum ini, selama masa hidup Basileios sendiri serta dalam karya abad ke-11 dan awal abad ke-12, Basileios biasanya dibedakan dari Basileios I Makedonia oleh sobriquet "yang Muda" (ho neos) atau "yang lahir ungu" (ho Porphyrogennetos).
Bulgaria berjuang selama empat tahun lebih, perlawanannya dipicu oleh kekejaman Basileios, tetapi akhirnya menyerah pada tahun 1018. Penyerahan ini adalah hasil dari tekanan militer yang terus berlanjut dan kampanye diplomatik yang sukses yang bertujuan untuk membagi dan menghaluskan kepemimpinan Bulgaria. Kemenangan atas orang-orang Bulgaria ini, dan penyerahan orang-orang Serbia, memenuhi salah satu tujuan Basileios, ketika Kekaisaran merebut kembali perbatasan kuno Danubius untuk pertama kalinya dalam 400 tahun.
Para penguasa Kroasia yang berdekatan, Krešimir III dan Gojslav, yang sebelumnya merupakan sekutu Bulgaria, menerima supremasi Basileios untuk menghindari nasib yang sama seperti Bulgaria; kaisar dengan hangat menerima tawaran mereka sebagai pengikut dan memberi mereka gelar kehormatan patrician. Kroasia tetap menjadi negara bagian bagi Basileios hingga kematiannya pada tahun 1025. Sebelum kembali ke Konstantinopel, Basileios II merayakan kemenangannya di Athena. Dia menunjukkan kenegaraan yang cukup besar dalam perlakuannya terhadap orang-orang Bulgaria yang kalah, memberikan banyak gelar kepemimpinan mantan pemimpin Bulgaria, posisi di pemerintahan provinsi, dan komando tinggi di tentara. Dengan cara ini ia berusaha untuk menyerap elit Bulgaria ke dalam masyarakat Bizantium. Bulgaria tidak memiliki ekonomi moneter pada tingkat yang sama seperti yang ditemukan di Byzantium, dan Basileios membuat keputusan bijak untuk menerima pajak Bulgaria dalam bentuk barang. Pengganti Basileios membalikkan kebijakan ini, keputusan yang menyebabkan ketidakpuasan di Bulgaria, dan pemberontakan, di kemudian hari pada abad ke-11.