朱元璋於洪武元年(1368)稱帝,建立新皇帝,但是大一統事業的完成,還得花二十年的時間。
元順帝北走之後,元朝遺留在內地的軍力,還有兩大支:一支是雲南的梁王;一支是東北的納哈出,都用元朝年號,秉承元順帝命令,雄踞一方。雲南和蒙古本部距離極遠,勢力孤單,比較容易解決,所以朱元璋的注意力先集中在西南方麵。從洪武四年(1371)消滅了割據四川的夏國以後,便著手經營雲南,先後派遣使王禕、吳雲招降,都被梁王所殺。到洪武十四
(1381),決意用軍力進取,派出傅友德、沐英、藍玉三將軍分兩路進攻。
這時雲南在政治上和地理上分作三個係統:一是直屬元朝皇帝,以昆明為中心的梁王;二是在政治上隸屬於元朝,但享有內部主權以大理為中心的白族士酋段氏。以上所屬地地區都被區分為路、府、州、縣;三是在上述兩個係統以外、和南部思普一帶的許多少數民族,就是明代叫作土司的地區。現代貴州的西部,在元代屬於雲南行省,東部設八番順元軍民宣慰使司,管理彝族及苗族各土司。元至正二十四年(1364),朱元璋平定湖廣,和湖廣接界的貴州思南宣慰和思州(今思縣)宣撫先後降附。到平定夏國後,四川全境都入版圖,和四川接境的貴州宣慰和普定府總管也聞風歸附。貴州的土司大部分先後歸順明朝,雲南在東北兩麵便失去屏蔽了。
明兵從東北兩麵進攻,一路同四川南下取烏撒(今雲南鎮雄、貴州威寧等地),這地方是四川、雲南、貴州三省接壤處,犬牙突出,是一個軍事據點,和在昆明的梁王主力軍互相呼應,並且是彝族的集中居住區;一路由湖廣西取普定(今貴州安順),進攻昆明。從明軍動員那天算起,不過一百多天的工夫,東路軍便已打到昆明,梁王兵敗自殺。東路軍再北上和北路軍會攻烏撒,把元軍消滅了,附近東川(今雲南會澤)、烏蒙(今雲南昭通)、芒部(今雲南鎮雄)諸彝族全部降附,昆明附近諸路也都以次歸順。洪武