Услышав об успехах комитопулов, в конце 70-х годов сыновья Петра Борис и Роман бежали из Константинополя. На одном из горных перевалов Борис, одетый в византийскую одежду, был по ошибке убит болгарским лучником, Роман же был объявлен царем Болгарии. Но воцарение Романа не привело к каким-либо существенным переменам в Болгарии: комитопулы сохранили в своих руках фактическое руководство страной. Василий II отправился в первый поход против Сердики, стремясь разрезать Болгарию на две части. Однако осада города была неудачной и завершилась паническим отступлением и поражением византийских войск (см. стр. 218).
Борьба с узурпаторами снова отвлекла силы империи на Восток, и Самуил получили свободу действий на Балканах. В эти годы Самуил стал единовластным правителем. Аарон, интригуя против Самуила, затеял тайные переговоры с византийцами и был убит по приказу Самуила. В 989 г. Самуил овладел Верней, хитростью захватил Сервию, опустошил Фессалию. Василий должен был срочно укреплять Фессалонику и ввести в нее большое войско во главе с Григорием Таронитом.
Лишь в начале 991 г. Василий выступил во второй поход против. Самуила. В этой войне, длившейся 4 года, византийцы добились первых успехов. Но Василий еще не рисковал вторгаться во внутренние области Болгарии. Освободив некоторые районы Южной Македонии и разрушив ряд болгарских крепостей, император отправился в поход на Восток. Самуил немедленно перешел в наступление. Его войска подступили к Фессалонике. Выступивший из города Григорий Таронит был убит, а его сын Ашот взят в плен. Самуил прошел Фессалию, Беотию, Аттику и вторгся в Пелопоннес32. По его следам был направлен назначенный на место Таронита опытный полководец Никифор Уран. На реке Сперхей в 997 г. Самуил понес тяжелое поражение.
Поражение не остановило его наступательных походов. Официально короновавшись царем болгар после смерти в 997 г. Романа, Самуил на время обратил свои усилия на запад и северо-запад полуострова. Сербское государство не могло оказать сопротивления Самуилу. Князь Зеты (Дукли), Травунии и Хума (Захлумья) Иван-Владимир должен был признать себя вассалом Самуила. Вероятно, в этот период в руках Самуила оказался и Диррахий, управление и охрану которого Самуил поручил Ашоту, выдав за него свою дочь.
Новый этап византийско-болгарской войны начался в 1001г., когдаВасилий приступил к систематическому завоеванию Болгарии. Василий с неслыханной даже в те времена жестокостью из года в год опустошая болгарскую территорию, ослепляя пленных воинов и некоторых жителей, что принесло ему прозвище Болгаробойцы.
Весной 1001 г. Василий вторгся в район Сердики, Никифор Ксифий был послан в Северо-Восточную Болгарию; одновременно начались военные действия в Южной Македонии. Пали Преслав, Малый Преслав, Плиска; была возвращена Фессалия, взяты Сервия и Водена. Начались первые акты предательства болгарских воевод — Верию без боя сдал Добромир. Скоро Василий осадил Видин. Осада затянулась. Стараясь отвлечь Василия от Видина, Самуил разграбил Адрианополь. Но Василий не ушел от Видина. Через 8 месяцев город пал. В этой кампании Василию помогло высшее духовенство Видина33. На обратном пути от Видина император разбил болгарского царя близ Скопле, после чего эта твердыня сдалась без сопротивления. В 1005 г. Ашот сдал византийцам Диррахий.
Решающие события разыгрались летом 1014 г. Василий подошел к одной из главных засек у горы Беласица. Никифор Ксифий зашел в тыл болгарам. Болгары были разгромлены. Через несколько дней они понесли еще одно тяжелое поражение под Струмицей. Василий приказал ослепить 14 или 15 тыс. пленных болгар, оставив на каждую сотню слепцов по одному ослепленному на один глаз поводырю, и отправить их к Самуилу.
Говорили, что Самуил не вынес зрелища тысяч слепцов — 6 октября 1014 г. он умер. Император тотчас вернулся в Болгарию, взял Штип и Прилеп, осадил Битоль — резиденцию нового царя Болгарии, сына Самуила Гавриила-Радомира. Византийские войска непрерывно опустошали Болгарию
в течение трех лет (1015—1017). Василию II помогали венгры34. Болгария была охвачена смутами, ее царь погиб от дворцового переворота, новый правитель был убит в 1018 г. под стенами Диррахия. После гибели царя боляре и воеводы открыто перешли на сторону Василия. Болгария капитулировала. В начале 1019 г. Василий совершил торжественный въезд в столицу Болгарии Охрид. Правители сербских и хорватских земель признали свою зависимость от империи.