朱元璋以洪武元年稱帝建立新皇朝,但是大一統事業的完成,卻還須等待二十年。
元順帝北走以後,元朝殘留在內地的軍力還有兩大支,一支是雲南的梁王,一支是東北的納哈出,都用元朝年號,雄踞一方。雲南和蒙古本部隔絕,勢力孤單,朱元璋的注意力先集中在西南,從洪武四年(1371)消滅了割據四川的夏國以後,便著手經營,打算用和平的方式使雲南自動歸附,先後派遣使臣王禕、吳雲去招降,都被梁王所殺。到洪武十四年(1381)決意用武力占領,派出傅友德、沐英、藍玉三將軍分兩路進攻。
這時雲南在政治上和地理上分作三個係統:第一是直屬蒙古大汗,以昆明為中心的梁王。第二是在政治上隸屬於蒙古政府,享有自治權利,以大理為中心的土酋段氏。以上所屬的地域都被區分為路府州縣。第三是在上述兩係統下和南部(今思普一帶)的非漢族諸部族,就是明代人叫作土司的地域。漢化程度以第一為最深,第二次之,第三最淺,或竟未漢化。現代貴州的西部,在元代屬於雲南行省,其東部則另設八番、順元諸軍民宣慰使司,管理彝族及苗族各土司。元至正二十四年(1364),朱元璋平定湖南、湖北,和湖南接界的貴州土人頭目思南(今思南縣)宣慰,和思州(今思縣)宣撫先後降附。到平定夏國後,四川全境都入版圖,和四川接境的貴州其他土司大起恐慌,貴州宣慰和普定府總管即於第二年自動歸附。貴州的土司大部分都已歸順明朝,雲南在東北兩麵便失去屏蔽了。
明兵從雲南的東北兩麵進攻,一路由四川南下取烏撒(今雲南鎮雄、貴州威寧等地),這區域是四川、雲南、貴州三省的接壤處,犬牙突出,在軍事上可以和在昆明的梁王主力軍呼應,並且是彝族的主要根據地。一路由湖南西取普定(今貴州安順),進攻昆明。從明軍動員那天算起,不過一百多天工夫,明東路軍便已直抵昆明,梁王兵敗自殺。明兵再回師和北路軍會攻烏撒,把蒙古罕消滅了,附近東川(今雲南會澤)、烏蒙(今雲南昭通)、芒部(今雲南鎮雄)諸彝族完全降附,昆明附近諸路也都依次歸順。洪武十五年(1382)二月置貴州都指揮使司和雲南都指揮使司,樹立了軍事統治的中心,閏二月又置雲南布政使司,樹立了政治中心。(1)分別派官開築道路,寬十丈,以六十裏為一驛,把川、滇、黔三省的交通聯係起來,建立軍衛,“令那處蠻人供給軍食”,控扼糧運。(2)布置好了,再以大軍向西攻下大理,經略西北和西南部諸地,招降麽些、彝撣、讚諸族,分兵戡定各土司。分雲南為五十二府,五十四縣。雲南邊外的緬國和八百媳婦(暹羅地)見況,派使臣內附,又置緬中、緬甸和老撾(今暹羅)八百諸宣慰司。為了雲南太遠,不放心,又特派義子西平侯沐英統兵鎮守,沐家世代出人才,在雲南三百年,竟和明朝的國運相始終。