洪武五年的大败让朱元璋不再进行大规模北伐,不过小规模的北伐一直没停,朱元璋时不时会让徐达等人出兵到北方扫荡一下。朱元璋开始把目光转向了云南和辽东,云南是元朝梁王把匝剌瓦尔密镇守,辽东也被元朝太尉纳哈出占着,这两个地方若一直在元朝手里,明朝就不能算作一个统一全国的王朝,朱元璋是个强势的人,他不想像宋朝那样,把统一事业做成个半拉子工程。朱元璋决定先礼后兵,他写了封信,派王祎给元朝梁王把匝剌瓦尔密送去,希望把匝剌瓦尔密能识时务,早点归降,这个王祎曾经和宋濂一起编写《元史》,非常有才华。把匝剌瓦尔密接到朱元璋的书信后,非但没有归降,还把王祎给杀了,朱元璋一下就火了,两国相争不斩来使,把匝剌瓦尔密居然把自己的使者杀了,和平手段解决不了,只能靠暴力了。洪武十四年(1381)九月,朱元璋任命傅友德为征南将军,蓝玉为左副将军,沐英为右副将军,率领步骑三十万攻打云南。这三个人都是能征惯战的骁将,傅友德在攻打四川以及北伐中的表现非常出色,蓝玉是常胜将军常遇春的妻弟,已经在洪武五年的北伐中证明了自己,沐英是朱元璋二十多个义子里边最优秀的一个,很受朱元璋器重,沐英早年都是以副将的身份,跟随徐达或者邓愈讨伐元军,洪武十年被朱元璋任命为征西将军,大破西番的少数民族,拓地千里,俘虏两万多人,另外还有牲畜二十多万头,之后元朝国公脱火赤骚扰边境,沐英又大败元军,活捉了脱火赤。
元朝梁王听说明军来打云南,派平章达里麻率领十万元军在曲靖抵御明军,两军对峙于白石江。傅友德准备率领明军直接渡江和元军作战,沐英建议不要直接渡江,因为元军守在对岸,这样很被动。沐英阻止傅友德渡江的同时,也说出了自己的建议,傅友德听后觉得沐英的主意很不错,就按照沐英的主意去办,派了一支小部队偷偷从白石江的下游渡江过去,在山上都插上明军的旗帜,然后吹响号角。元军忽然见自己这边漫山遍野都是明军旗帜,大惊,以为明军已经过了大江,一片慌乱,沐英趁机指挥渡江,先让水性比较好的人游过去,挥舞长刀冲向还在慌乱的元军,站稳跟脚,后续大军先后都渡过白石江,沐英率精锐铁骑冲锋,元军大败,伏尸十几里,元军将领达里麻也成了明军的俘虏。这十万元军是元朝在云南所有的精锐,一战全军覆没,明军长驱而入,元朝梁王把匝剌瓦尔密自杀而死,云南成为明朝的领土。
云南平定后,朱元璋让傅友德和蓝玉班师回朝,留下沐英镇守云南。沐英镇守云南期间,非常有作为,首先是大兴屯田,开垦上百万亩良田,解决温饱问题,又整治滇池,从此云南不再有水患,另外制定合理的赋税劳役,让当地百姓安居乐业,不再遭受离散之苦。不过有一个问题让沐英烦不胜烦,就是当地有很多蛮族(当时习惯这么称呼,其实就是当地的少数民族),这些蛮族时降时叛,今天还规规矩矩的,明天就忽然叛乱了,杀死守军,扰乱州府。
洪武二十二年,蛮族首领思伦率众叛乱,号称三十万,人数虽多,这倒没什么,因为蛮族人的兵器要比明军落后得多,打起仗来并不占便宜,不过思伦的军队中有种特别的东西,明军在战场上从来没见过这种东西,那就是大象。明朝时,云南地区盛产大象,思伦弄了一百多头大象当前锋,而且给大象都披上盔甲。明军哪儿见过这种庞然大物,都呆住了,战马在大象面前都小得可怜。蛮军上百头大象一起冲锋,情形十分吓人,碰到谁谁飞,踩到谁谁死,明军抵挡不住,纷纷溃退。
面对不利形势,沐英想出来个办法,他选了一批精锐士卒,让每人都带好火铳、强弓硬弩,分成三队,见大象冲过来,轮流射击,一时枪弹乱飞、箭如雨发。大象毕竟是畜生,不像人那么勇敢,正往前冲,忽然中弹中箭,伤得不轻,而且枪声对大象的震慑很大,这些大象受了惊吓,立马掉转回头,朝着蛮军乱冲过去,蛮军反被自己的大象冲倒无数。但是蛮军毕竟人数众多,虽然吃了亏,却还没有溃败,其中有个叫昔剌亦的蛮军将领,非常骁勇,明军左路军反倒被他杀得连连后退。沐英见左边的明军一直在后退,就登上一个小山坡查看,见左边的明军都被昔剌亦的勇悍吓得连连后退,沐英取出自己的佩刀,给一个随从,说去把明军左路军元帅的头给我取回来。随从得令,拿了刀,飞驰而下,就去斩左路军的元帅。左路军的元帅正在败退,忽然见上坡上有个人骑马飞奔而来,而且手里还拿了把刀,吓得不轻,知道因为自己作战不力,主将要来斩杀自己了,为了保命,大呼一声,冲向蛮军,其他明军见元帅都敢冲,也跟着冲上去,蛮军大败,死了四万多人,蛮族首领思伦逃进深山,再也不敢出来,云南从此安定。
云南安定后,沐英到应天朝见朱元璋,朱元璋很欣慰,说因为沐英,我才可以高枕无南顾之忧。之后任命沐英为黔国公,从此沐家世代为明朝镇守云南。