Una de las ciudades más antiguas de Europa, fue fundada por los tracios en el siglo V a.C. Dos siglos más tarde los romanos construyeron fuertes murallas alrededor de Serdica, y convirtieron a la población en un importante punto de la calzada romana que unía Naisus (Yugoslavia) con Constantinopla (Estambul). Después de la invasión de los unos, ya en el siglo V de nuestra era, la ciudad fue reconstruida por los bizantinos. Fue en el siglo XIII cuando la ciudad adquiere el nombre actual, que significa "sabiduría".
En 1382 los turcos ocupan Sofía, y la convierten en el centro del territorio. La ciudad empezó a declinar hasta que en el siglo XIX, con la llegada del tercer imperio búlgaro (1879) Sofía volvió a adquirir importancia.