明朝攻云南时,大理国已灭亡一百三十多年了,当时属于北元云南行省梁王的地盘。宋朝建立时,大理国已建立几十年了。公元937年,后晋通海节度使段思平建大理国,定都羊苴咩城(大理)大理国对宋比较友,向宋称臣,在法理上成为宋朝一部分,所以,宋朝没有攻打大理国,任其自生自灭。
北宋灭掉后蜀,南汉,南唐,吴越,北汉等割据政权后,并没有挥师南下攻大理国。因为几千年来,中原王朝外来威胁主要在西北地区。北宋初期,割据晋阳的北汉和辽国互相勾结,是宋的主要敌人,重点防御目标。而大理国一直遣使示好,对宋没有什么威胁,古代交通不发达,西南地区山高路险,武力取之成本太高,所以,北宋以眠山,大渡河一线为界。到宋徵宗时时大理国主段和誉为云南节度使,金紫光大夫,上柱国,大理国王,在法理上成为宋的藩属国。
公元1253年,忽必烈派兵攻占大理,大理国末帝段兴智投降,被封为大理世袭总管。不久,元设云南行省,加强对西南边陲有效统治。忽必烈五子忽哥赤为云南王,世代镇守云南地区。公元1368年,大明建立。元顺帝逃到漠北,仍为元皇帝,史称北元。云南地区为忽必烈五子忽哥赤后裔梁王镇守。大理一带为大理国后裔段氏把守,同梁王之间冲突不断。朱元璋几次派使节招降,都惨遭杀害。于是,朱元璋决定以武力征服云南。
朱元璋亲自制定了进攻云南的战略,洪武十四年(公元1381年),颖川侯傳友德为征南将军,永昌候兰玉为左副将军,西平侯沐英为右副将军,带兵三十万远征云南。九月,傅友德兵至湖广,分兵两磊从东,北两个方向进攻云南。北路军由都督郭英等人率五万军队自永亍(四川叙永)进攻乌撒(贵州威宁)。东路军傳友德率主力由辰州(沅陵),沅州(芷江),由贵州方向直扑曲靖。|
曲靖是水路交通要道,进攻云南的门戶,傅友德分兵两路,兰玉和沐英兵进昆明,自己亲率大军北攻乌撒,策应北路军。十二月份,曲靖之战开始。粱王大将失麻理率十万大军应战。明军趁大雾抵曲靖东北百万江一线,傳友德依沐英之计,在正面佯攻,暗中派数千精兵在下游渡江,绕到梁王军队后面发起攻击。梁王军队大败,被俘两万余人,失麻理成了阶下囚。
梁王听说曲靖失守,便自杀了,云南群龙无主。兰玉和沐英兵进板桥,云南元右丞相观甫保投降,兰玉和沐英分兵攻掠各地。公元1382年7月,明军攻占大理,灭大理国后裔段氏势力,回师滇池与傅友德合兵,分道攻占乌撒,东川,建昌,芒部诸蛮等地,设乌撒,毕节二卫。
明朝撤军后,沐英为云南王,沐氏家族世代守卫云南260多年,最后一个王爷沐天波殉国大明。明朝向云南地区大量移民,汉族成主体民族,对边远地区实行改土归流改策,用流官管理,云南成为大明正式版图。