Men gaat ervan uit dat Bulgarije al ver voor Christus (zo’n
50.000 tot 100.000 jaar) werd bewoond door de Serden. Zij noemden de plaats
Serdica. Vermoedelijk leefden zij tot en met 29 voor Christus op de plaats
totdat het in handen kwam van de Romeinen.
De stad kreeg haar huidige naam toen de Slavische Bulgaren
de stad in handen kregen. In 1376 doopten ze de stad officieel om tot Sofia,
vernoemd naar de Sveti Sofiakerk. In 1382 werd de stad onder de Turken bij het
Ottomaanse Rijk gevoegd. De Turkse bezetting zou bijna 500 jaar duren. In deze
jaren groeide Sofia uit tot een aanzienlijk handelscentrum.
In 1878 bevrijdden de Russen Sofia van de Turken. Bulgarije
werd tot 1908 Prinsdom van Bulgarije en daarna Vorstendom van Bulgarije. Toen de
Tweede Wereldoorlog uitbrak, steunden de Bulgaren de nazi’s. Daarom werd Sofia
gebombardeerd door de geallieerden. Er was veel schade en diverse monumentale
panden werden verwoest. Na de oorlog werd het land bezet door de Sovjet Unie en
werd het een communistische staat. Pas in 1990 verdween het communisme uit
Bulgarije en uit Sofia.