Bolgarski uspehi na zahodu so v Konstantinoplu vzbujali strah, zato je Bazilij II. po resnih pripravah sprožil vojni pohod v samo središče bolgarskega imperija s ciljem, da prežene Samuela iz južne Grčije. Bizantinska vojska je prečkale gore blizu Ihtimana in leta 986 dvajset dni oblegala Sofijo. Bizantinski napad na mesto je bil neuspešen in drag. Bolgari so večkrat vdrli iz mesta, ubili veliko sovražnih vojakov in zajeli veliko živine in konj. Nazadnje so zažgali bizantinske oblegovalne stroje in prisilili Bazilija na umik iz Trakije. 17. avgusta 986 so na Trajanovih vratih napadli in popolnoma uničili umikajočo se bizantinsko vojsko. Poraz je za Bazilija II. pomenil velik udarec, saj je bil eden od redkih, ki so se živi vrnili v prestolnico. Njegovo osebno blagajno so zasegli Bolgari.