От Освобождението през 1878 година до 1991 година София е била управлявана от кметове, които са били назначавани или избирани от общинските съвети. Първият пряко избран кмет е проф. Александър Янчулев, който печели изборите на 13 октомври 1991 г.
Обявяването си за столица на България София посреща с 18 махали - такова е било административното деление, въведено през 1870 г. от закона за администрация на вилаетите в Османската империя. Според него градската територия е била разделена на 18 махали, ръководени от изборните съвети на старейшините (ихтиар-меджлиси), начело с кмет (мухтар).
С Главните основания за гражданско управление на санджаците и окръзите от 7 юли 1877 г. и с Временните правила за управителните съвети в окръзите и градовете на България за първи път се разграничават органите, ръководещи градовете, от тези за прилежащата им териториална единица. Общините стават административни общности, но функционират под прекия контрол на окръжните управители и на губернаторите. На 10 февруари 1878 г. след произведени избори е сформиран първият общински съвет от 12 души, начело с кмет, двама помощници и секретар.
Няколко дни след обявяването на София за столица е приета и Търновската конституция от Учредителното събрание, съгласно която административното деление в страната е на окръжия, околии и общини. В привременните правила за общинското градско и селско управление, които въвеждат нова регламентация на общинските органи, обнародвани на 18 август 1879 г., е въведена назначаемост на кмета от централната власт и е създаден извънреден статут на столичния град - Общинският съвет се състои от членове, като половината от тях се назначават от княза, а останалите се избират.
Второто Народно събрание през 1880 г. приема Закон за административното разделяне на Княжество България, който определя Софийския окръг като първостепенен поради особения статут на София като столица. В края на същата година общините на София, Варна, Русе и Видин административно са приравнени към околии.
По време на режима на пълномощията през 1882 г. в столицата е въведена длъжността "градоначалник", който има правата на окръжен управител. Общинският съвет взима решение за обособяване на четири градски части, управлявани по традиция от мухтари - представители на кмета. Третото Народно събрание през 1883 г. потвърждава назначаемостта на кметовете от правителството със закон.
През същата година със закона за Столичното градоначалство, общината окончателно е приравнена в административно отношение към околия, а в полицейско - към окръг. През февруари 1889 г. броят на градските части е увеличен - те стават пет и се управляват от комисарства със собствени правилници.
Четвъртото Народно събрание приема два закона през юли 1886 г., които въвеждат административен режим, но при уравновесени тенденции на централизация и децентрализация. Общините се управляват от кмет и от помощник-кметове /общинска управа/постоянно присъствие/, избирани от избран от населението Общински съвет с тригодишен мандат. Общинската управа е била изпълнителен орган на съвета. Кметовете и Общинският съвет са били и органи на централната власт и са били подчинени на околийските началници и на окръжните управители.
През 1922 г. 19-ото Народно събрание приема Закон за Столичната община, който разделя града на шест района, управлявани от деветчленни районни съвети, които избират кмет на района и двама негови помощници. Кметът на София е можел да бъде отстранен от длъжност с постановление на правителството и е изравнен по ранг с окръжен управител. Централният столичен съвет е бил от 24 членове, като 12 се избират от районните съвети, а 12 се назначават от Министерския съвет. Деветоюнският преврат през 1923 г. прекъсва мандата на току-що избраните общински съвети.
Година по-късно 21-то Народно събрание изменя Закона за Столичната община, като запазва съществуващите шест района, но се дава право на Централния столичен съвет да избира кмета и помощниците му и възможност да ги бламира. Премахната е и възможността на правителството да назначава и да уволнява кмета на столицата.
Четиригодишен мандат на Общинския съвет, на постоянното присъствие и на кметските наместници в районите е въведен през 1929 г. Кметът се е избирал от Общинския съвет, утвърждавал се от министъра на вътрешните работи и е имал петима помощници, избирани по същия начин. За всеки район Общинският съвет предлагал по двама кандидати, от които кметът назначавал единия за свой наместник.
През 1932 г. броят на столичните райони е намален от шест на четири, а със закон е въведено задължително утвърждаване на всички решения на Общинския съвет от централната власт.
След преврата на 19 май 1934 г., организиран от политическия кръг "Звено", общинските съвети са разпуснати и е издадена Временна наредба за управлението на общините. Решенията на техните постоянни присъствия са подлежали на утвърждаване от органите на изпълнителната власт, а Софийската община е разделена на пет районни комисарства. Кметът, който до този момент се е избирал от Общинския съвет, съгласно новите разпоредби се назначава от държавните власти. На 1 септември 1934 г. е сформиран нов Общински съвет, в който влизат само чиновници и представители на корпорациите.
През март 1937 г. има общински избори, след които в общинските съвети са включени и избраните съветници, въведена е "засилена общинска управа", състояща се от кмет и от Общински съвет.
През 1938 г. е създадена Столичната голяма община, градът е бил разделен на 11 района, включени са и осем села, управлявани от петима кметски представители и от двама помощник-представители. С Конституцията, приета на 4 декември 1947 г., в България е въведено двустепенно административно деление - околии и общини.
През февруари 1948 г. Столичната община е приравнена към околия, а от април е разделена на шест района с указ на Президиума на Народното събрание. През април 1949 г. са произведени и първите общински избори след Втората световна войната.
След въвеждането на окръзите през 1949 г. Софийската община е приравнена към окръг, а през декември 1954 г. към общината са прехвърлени нови села от Софийската околия.
През 1961 г. Народното събрание приема Закона за общия градоустройствен план на София. Територията на града е разделена на градски и околоградски райони. В околоградския са включени населени места от Софийски, Врачански и Пернишки окръг. Така Столичният градски народен съвет получава право да управлява и част от територията на съседните му окръзи.
През лятото на 1987 г. с въвеждането на областно териториално-административно деление, Столичната община е приравнена към област, а нейният кмет изпълнява и функциите на областен управител. София е разделена на 12 района, а на 10 декември 1987 г. Деветото Народно събрание приема Закон за създаване на общини в град София. С Указ от 14 декември 1987 г. Държавният съвет определя 24-те общини в град София, границите и наименованията им. През 1988 г. са избрани общински съвети на 24-те общини.
На 12 юли 1995 г. 37-то Народно събрание приема Закон за териториалното деление на Столичната община и големите градове, с който се урежда териториалното деление на София. Според него Столичната община включва 24 райони и кметства в районите. През 1998 г. територията на България е разделена на 28 области, като е определена област "София-град". С промените в Закона за местното самоуправление и местната администрация от 27 юли 2007 г., за първи път се въвежда пряк избор на районните кметове.