汉元封二年(公元前109年),汉武帝发巴蜀兵数万人击劳浸、靡莫,“以兵临滇”,处在今天昆明滇池附近的“滇王”降汉,西汉王朝在此设置了益州郡,随后又向西“复并昆明地”(大理附近)。此后,中原王朝的统治便在云南之地确立。
当时的昆明地区为滇池县(今昆明市晋宁区),而大理附近则是“昆明夷”的聚居地,以滇池县为治所显然更符合中原王朝的利益,方便中央对云南进行管辖。这一治理方式在魏晋时期得以继承,两晋时期的宁州府长期处于滇池之南,进而对滇西与滇南等偏远部落进行羁縻统治。
南北朝后,随着南朝势力在南北对峙的过程中逐渐虚弱,其对西南众多少数民族的管辖能力也同步削弱。因此,中原王朝在云南的治所向东北后撤,以求更加方便获得来自中原的军事与经济支持。梁陈时期,宁州治所已经离开滇池转移到今曲靖附近。隋朝统一之后,东爨“乌蛮”与西爨“白蛮”(六诏)逐渐不可遏制,其设置的南宁州都督府也只能在今天曲靖一带勉强维持统治。
公元738年,云南“蒙舍诏”部落首领皮逻阁兼并其余部落,并在唐朝的扶植下统一整个云南及周边地区,南诏国由此建立,并定都于太和城,后迁至羊苴咩城(大理古城以南)。
公元8世纪中叶到9世纪中叶,唐朝与南诏的战争持续近百年,期间虽然南诏多次取胜,但两者国力终究相差悬殊。
南诏发家于苍山洱海之间,需要依靠滇西南的群山来防范中原军队南下,因而选择大理附近作为都城成为了不二之选,相较之下处在中原入滇孔道上的昆明城显然过于危险。两宋时期的大理国同样如此,经过前朝(南诏)的多年经营,大理作为云南首府的地位更是得到了再次确认。
公元13世纪初,蒙古人征服大理国,其治所设置于大理路(大理)。蒙元帝国还对云南实行了行省统治,并以蒙古宗王直接出镇,为了减少在大理老巢带来的不便,蒙古宗王将行省的中心东迁至滇中的中庆路(今昆明),以这个传统的滇东重镇来代表中央在云南的行政权力。
公元1381年,与前朝不同的是,明朝在当地实行完全的直接管理,彻底消灭了大理的特权,同时也延续了以昆明为核心的治理模式。昆明与中原地区的沟通便捷,更有利于驻守云南的沐家军获得足够的支援。另外,明朝崇尚卫所屯垦,昆明地区“坝子”(小型盆地)数量众多,更适合为戍守的明军提供农业资源。
在政治、军事、交通与农业经济等多方面的综合考量下,昆明最终替代大理成为了云南省会并延续至今。可以说,选择滇西的大理是云南地方政权割据的战略选择,而昆明则是大一统政权管辖云南的正确决断。