明洪武五年(1372年)明太祖朱元璋遣派大將軍徐達(dá),率大軍攻占和林,元順帝逃往漠北,太尉兼中書(shū)平章政事河南王擴(kuò)廊鐵木耳(又名王保保)西走甘肅。朱元璋當(dāng)即命宋國(guó)公馮勝、副將傅友德、藍(lán)玉、陳德、梅思祖等率軍西進(jìn),甘肅行省平章不花被傅友德射殺,平章委的逃遁,太尉鎖納兒同將軍上都驢迎降,甘州平定。洪武七年(1374年),馮勝等相繼攻克酒泉、亦集乃、瓜州,到沙州敦煌為元軍所敗,于是返回?fù)?jù)守嘉峪關(guān)塞。八年,朱元璋決定: ——完善都衛(wèi)制,內(nèi)地設(shè)都指揮司,其下府、縣、衛(wèi)、所并設(shè),府縣管民,衛(wèi)所治軍、邊疆設(shè)行都指揮司,其下只設(shè)衛(wèi)所,不設(shè)府縣,衛(wèi)所既管軍也治民。甘肅屬陜西布政使司和陜西行都指揮司,在甘州設(shè)置甘肅衛(wèi),繼而又改為甘州衛(wèi)。
——從秦,晉、關(guān)、隴向河西移民。這是漢民族和漢文化再次大規(guī)模地涌入河西和張掖。河西各地至今仍流傳有:“若問(wèn)故鄉(xiāng)在何處,山西洪同大槐樹(shù)”的民謠,有效地改變了河西民族構(gòu)成。
——強(qiáng)化“封同姓,制異姓”的政策。改封漢王朱模為肅王,將甘州作為肅王的藩地,起用元帥宋朝用之子宋晟掛平羌將軍印總兵鎮(zhèn)守,同時(shí)將行都司治所由莊浪(今永登)移到甘州,總理行都司的軍政事宜,加速籌劃肅王就藩。肅王府下設(shè)“中護(hù)衛(wèi)指揮使一員,指揮同知二員,指揮僉事四員,領(lǐng)左、中兩護(hù)衛(wèi)及儀仗、兵器”等。宋晟還將九里十步的甘州城擴(kuò)大為十二里七十步,并在甘州城內(nèi)建造占地?cái)?shù)十畝的肅王府第(今縣府街張掖飯店處)。洪武二十七年(1396年),肅王朱模由平?jīng)銎鸪藖?lái)張掖就藩,朱元璋給肅王就藩的詔書(shū)中說(shuō):“理陜西行都司及甘州軍政事宜”;《名山藏?分藩記》中記述:“西渡河,領(lǐng)張掖、酒泉郡,西扁嘉峪關(guān),護(hù)西域諸國(guó)”。表明朱元璋是把甘肅、青海、新疆等一片領(lǐng)土的守護(hù)任務(wù),全都交給肅王朱模。
由于朱元璋的長(zhǎng)子早逝,朱元璋把皇位傳給了皇長(zhǎng)孫建文帝允文,到建文四年(1403年),燕王朱棣以所謂“清君側(cè)、靖內(nèi)難”的名義發(fā)兵攻占南京,建文帝巧裝混出南京,藏匿于民間。甘肅總兵官宋晟在建文帝危難時(shí)穩(wěn)坐甘州,朱棣登上皇帝寶座后第一個(gè)跑去覲見(jiàn)朝賀,明成祖朱棣在高興之余,感到其父朱元璋“封同姓制異姓”的策略并沒(méi)有保證江山移人,當(dāng)即確定反其道而行之,采用“用異姓制同姓”的策略,將東起遼東、西至甘肅的九個(gè)藩王屬地改建九邊重鎮(zhèn)。在甘州設(shè)置甘肅鎮(zhèn)(肅王府東遷蘭州),領(lǐng)4道16衛(wèi)所,分守西寧道駐涼州,領(lǐng)涼州衛(wèi)、鎮(zhèn)番衛(wèi)、永昌衛(wèi)、莊浪衛(wèi)、古浪千戶(hù)所;分巡西寧道駐甘州,領(lǐng)甘州左、右、前、后、中衛(wèi)、山丹衛(wèi)和高臺(tái)千戶(hù)所;甘肅兵備道駐肅州,一領(lǐng)肅州衛(wèi)和鎮(zhèn)夷千戶(hù)所;西寧兵備道駐西寧,領(lǐng)西寧衛(wèi)和碾伯千戶(hù)所。此外還兼撫關(guān)外的安定、曲先、阿端、罕東、罕東左、赤金蒙古和哈密七羈衛(wèi)并西羌十三族。宋晟為甘肅建鎮(zhèn)后的第一位總兵官,全權(quán)處理甘肅的一切軍政事宜;其后朱棣又對(duì)總兵官起了疑心,除設(shè)立了監(jiān)軍太監(jiān)外,又在邊鎮(zhèn)設(shè)置了掌管軍政大權(quán)的右僉巡撫都御史。