明洪武十四年(1381年)农历九月,朱元璋拜傅友德为征南将军,蓝玉、沐英为副将军,率领三十万大军,征讨盘踞在云南的元军残部。
在讨伐云南的大军出发前,朱元璋还召见诸将,告诉他们用兵之时要详查山川地势,不能冒进,并制定了“先合攻,继分战,出其不意,攻其不备”的进军方略。尤其到了曲靖,那是“入滇咽喉”,元军主力必定死守,要想办法让主力从湖南沅陵、芷江进入,出奇制胜。
傅友德等将领依言行事,大军乘船从南京出发,于武昌兵分两路,傅友德亲自率领主力军继续向西,至湖南常德后弃船登陆,经芷江达新晃,向贵州进发。另一路,傅友德命郭英等将领统率五万明军,由湖南入四川,攻打威宁,吸引元军的注意力。
傅友德、蓝玉、沐英等大将带着主力部队行军两个半月,顺利攻克贵州安顺、盘县。沐英就对傅友德说:“趁元军还没有掌握我军南征的战略部署,我们应当趁其不备,星夜兼程,赶到曲靖,令皇上出奇制胜、平定云南的战略得以实现。”傅友德欣然采纳,攻下安顺、盘县当日,便奔赴曲靖。明军以双倍的速度急行军,仅用四日就走完了原本需要六七日的路程,抵达曲靖。此时,大元梁王收到情报,立刻命令大将达里麻统率十万元军主力驰援曲靖,想要在曲靖与明军展开决战。
洪武十四年(1381年)十二月,沐英等人率领将士冒着浓雾前进,迅速抵达曲靖。
大明军队的突然到来,使得元军指挥达里麻大惊失色,慌了阵脚。当时,达里麻率领元军列阵于白石江一岸,明朝军队则驻扎在另一岸。
傅友德想要立刻渡江作战,沐英不同意,他认为敌方已经在对岸摆好了阵势,掌控了水面,贸然渡江会对自己这一方十分不利。于是,大明军队摆出一副将要渡江的样子,临江列阵。暗地里,沐英则派出几十人从下游潜水渡河,到达对岸后立刻吹响号角,壮大声势,使元军因受惊而乱了阵势,然后大明军队便可以趁机渡江了。
沐英派出勇猛善于游泳的士兵冲在最前面,登岸后与元军厮杀。元军被打得溃不成军,达里麻战败被俘,沐英将被俘的两万士兵全部放还归乡。经此一役,大明军队威震四方,大元梁王收到战败的消息后,自杀身亡。沐英、蓝玉带领大军直逼昆明,昆明不攻自破。
“暗度陈仓”即在正面迷惑敌人,再绕道偷袭。朱元璋分两路行军,就是为了乘敌人不备,到达战场,进而占据主动地位。