战国为滇国中心区。
秦置吏。
西汉元封二年(前109)置谷昌县,属益州郡,郡治滇池县(在今晋宁县晋城),三国蜀汉及西晋属建宁郡。
东晋属晋宁郡。
两晋宁州及东晋晋宁郡均治滇池县。
南朝齐永明五年(487)置益宁郡。
隋唐曾置昆州。
唐广德二年(764),南诏置拓东城,为拓东节度驻地。
南诏于应道元年(809)定为东京。
劝丰祐时(824~859)置善阐府,为善阐节度驻地。
建极元年(860)改为上都。
宋大理时仍为善阐府,称东京。
蒙古宪宗四年(1254)立昆明千户。
五年立善阐万户府。
元至元十二年(1275)昆明千户改昆明县,十三年善阐万户府改为中庆路。
从大理到元又名押赤城(或作鸭赤城)。
明洪武十五年(1382),中庆路改为云南府,昆明县仍为云南府附郭县、云南布政使司驻地。
南明永历四年(1650),改云南府为昆明府,改昆明县名昆海县,十年(1656)改置兴龙府。
清顺治十六年(1659)复名云南府。
1913年废府,隶滇中道,1916年废滇中道。
1919年置云南市政公所,1920年裁。
1922年复置昆明市政公所。
1928年设昆明市,郊区置昆明县。
1946年改昆明县为谷昌县,1950年复名昆明县。
1950年昆明县属武定专区,3月成立昆明市人民政府。
1951年昆明县由武定专区划归昆明市。
1953年昆明县并入昆明市。
1954年,属玉溪专区的昆阳县第三区(海口)划归昆明市。
1956年安宁县由楚雄专区划归昆明市。
1958年富民县由楚雄彝族自治州划归昆明市。
1959年,安宁区、海口区合并为安宁县。
1960年,晋宁县由玉溪专区划归昆明市。
1963年,析晋宁县置呈贡区。
1965年,呈贡区改县。
1966年,盘龙区改名东风区。
1968年,复设盘龙区。
1983年,宜良、嵩明、路南彝族自治县由曲靖地区划归昆明市,禄劝县由楚雄彝族自治州划归昆明市。
1985年6月,禄劝县改名禄劝彝族苗族自治县。
1995年10月,安宁县改市。
1998年10月,路南彝族自治县改名石林彝族自治县。
1998年12月,东川市改区,与曲靖市的寻甸回族彝族自治县一起划归昆明市。
2011年5月20日,呈贡县改区。
2016年11月24日,晋宁县改区。