V roce 1003 zahájil Basil II tažení proti
První bulharské říši a po osmi měsících obléhání dobyl důležité město Vidin na severozápadě.Bulharský protiúder v opačném směru na Odrin ho neodvedl od jeho zaměření a poté, co se zmocnil Vidinu, pochodoval na jih údolím Moravy a cestou ničil bulharské hrady.Nakonec se Basil II dostal do blízkosti Skopje a dozvěděl se, že tábor bulharské armády se nachází velmi blízko na druhé straně řeky Vardar.
Bulharský Samuil se spoléhal na velké vody řeky Vardar a neučinil žádná vážná opatření k zabezpečení tábora.Kupodivu byly okolnosti stejné jako v bitvě u Spercheios o sedm let dříve a scénář boje byl podobný.Byzantincům se podařilo najít fjord, překročili řeku a v noci zaútočili na nepozorné Bulhary.Neschopni účinně vzdorovat Bulhaři brzy ustoupili a zanechali tábor a Samuilův stan v rukou Byzantinců.Během této bitvy se Samuilovi podařilo uprchnout a zamířil na východ.