Originariamente conosciuta come Serdica, Sofia fu fondata 3.000 anni fa dai Traci, ma la storia della città risale a circa 7.000 anni fa, rendendola così una delle città più antiche d'Europa. Nel 29 a.C Sofia era nelle mani dei romani sotto l'imperatore Traiano che insieme al suo successore Diocleziano fece espandere la città. La città fu amata dagli imperatori e divenne in seguito un nodo importante dell'Impero Romano d’Oriente prima e di quello Bizantino dopo, prima di essere rasa al suolo dagli Unni nel 447. Fu ricostruita dall'imperatore Giustiniano, e rimase un luogo importante per Bisanzio fino all'809, quando fu conquistata dai bulgari sotto Han Krum. Nel 1089 la città tornò a Bisanzio fino al 1189, quando fu conquistata definitivamente dallo zar bulgaro Ivan Assen I. Subì poi un'altra conquista da parte degli ottomani nel 1382. Sotto gli Ottomani, Sofia fiorì e divenne una delle città più importanti dell'Impero, posizione che mantenne fino al 18° secolo. Con i turchi finalmente espulsi nel 1878 durante la guerra russo-turca, Sofia divenne la capitale del Regno di Bulgaria indipendente. La prima guerra mondiale portò la città vicino al disastro, dopo che si unì alla guerra dalla parte dell'Asse, mentre 20 anni dopo, combattendo di nuovo con le potenze dell'Asse, la città fu bombardata pesantemente. La fine della seconda guerra mondiale portò l'occupazione sovietica nella città così la Bulgaria divenne parte del blocco orientale. Successivamente seguì una rapida industrializzazione, con la nascita di nuove fabbriche ed edifici in tutta la città. L'indipendenza è tornata dopo la caduta del muro di Berlino nel 1989, anche se negli anni '90 le cose si sono complicate da un punto di vista economico a causa dell’inflazione. Oggi, politicamente stabile ed economicamente prospera, Sofia è tornata ai suoi antichi splendori.