洪武年间明太祖朱元璋为了消除北元残余势力,曾组织八次大规模北征,史称“明太祖八次北征”,战役断断续续持续二十多年,彻底将北元及其残余势力打残,曾经草原的霸主们,被打得听到明朝骑兵的马叫就落荒而逃,北元从前朝正统被削成了草台班子,再也对明朝的正统地位不构成威胁了。到了洪武末年,蒙古已经降级成了明朝的边患,甚至东北地区的蒙古兀良哈部还被明朝招降,成了明朝的雇佣兵、职业打手,朱元璋还为其改了个名字叫“朵颜三卫”,平时朵颜三卫的重要职责就是跟不服管的其他蒙古人开战,算是大明王朝版的“以夷制夷”了吧。然而这种本来良好的边疆模式到了建文帝继位后却发生了变化,走向彻底崩坏。
朱元璋末年在明朝的北境建立了一整套的防御体系,以抵御塞外游牧民族的侵扰,由于朱元璋不太相信异姓大臣,想来想去还是自己的儿子们可靠,因而分封藩王守边成为朱元璋北边防御体系中最重要的一环,然而朱元璋的心腹恰恰成了建文帝的心腹大患。建文帝要削藩,边境诸王自然是主要开刀对象,但如果诸王都被干掉,边地由谁来防守,一旦边地陷入真空状态,那这样一来朝廷对蒙古诸部的压制力度自然会下降,但显然急着削藩的建文帝并没有过多考虑这个问题。事实上不要说武力压制建文帝没有考虑过,就连怀柔政策建文帝都没有过多操作,从史书来看朱允炆在位四年并没有与蒙古部落有何交流,而对蒙古人来说中原王朝的内战真是天大的好消息。
靖难之役期间蒙古趁机做大,首先是镇守北平(今北京)的燕王朱棣举兵造反,朱棣本来是朝廷安排在北部抵御蒙古的重要藩王,他在戍边期间曾多次出塞,打得蒙古诸部抱头鼠窜,草原的牛羊看到燕王的旗帜都被吓得跑路,有他在北平那一片甚是安全,但是现在朱棣起兵了,建文帝的朝廷在南方,所以朱棣也得往南方打,主力部队自然也都带走了,霎时间蒙古诸部的压力顿时减轻,压在头上的一座大山自己长腿跑了。
然而朱棣的起兵才只是牵动明朝北部局势的第一步,朱棣起兵以后,建文帝立刻派兵北上围剿,当时镇守在宣府(今张家口宣化)的谷王朱橞害怕两军交战误伤到自己,又仔细比较了一下建文帝和燕王之间的实力,最后觉得还是建文帝的大腿比较粗,但燕王离自己的封地比建文帝要近得多,要是自己旗帜鲜明地支持建文帝,朱棣引兵来攻打自己,就自己这两下子肯定不是四哥的对手,怕是朝廷大军还没来自己就要被朱棣干掉了,所以他做了一个大胆的决定——放弃封地,连夜逃回南京。
朱橞回到南京以后,建文帝的心腹兵部尚书齐泰看着他若有所思,于是向建文帝建议道:“燕王封地不远处就是辽王朱植和宁王朱权,这可都是重量级的藩王,燕王朱棣一个人起兵倒不怕,万一他们哥几个勾结起来,将手里的兵马聚集在一块,那势力可就大了,为今之计应该尽快将辽王和宁王召回京师,断了朱棣的左膀右臂。”建文帝觉得齐泰的提议很有道理,因而下诏让两位王爷赶快回南京,辽王在接到消息后立刻启程,但如果从陆路返回途中要经过朱棣的势力范围,太危险了,所以辽王是从海上坐船回到的南京,方案也很新潮了。
而宁王就没有这么幸运了,被朱棣摆了一道,他本人连同麾下精锐全都被燕王朱棣裹挟着参加了靖难,顺便说一句宁王部下的军队就是精锐的朵颜三卫。朱元璋为了防范游牧民族攻入长城以内,在明朝北地自东到西安排了九大藩王镇守边疆,他们分别是——辽王、宁王,燕王、谷王、代王、晋王、秦王、庆王、肃王。一场靖难之役导致辽王、宁王、燕王、谷王全部离开了自己的防守辖区,加上此前已经被建文帝废为庶人的代王朱桂,实际上这个时候明朝的北地已经被撕开了一个巨大的豁口,几乎丧失了防御蒙古诸部南下的功效。不仅如此,燕王朱棣为了增加自己的胜算还主动与蒙古交好,希望他们不要袭击自己的后方,至于好处想来也是不少的。而对于跟随自己作战的兀良哈部,朱棣也表示一旦靖难成功,就将宁王朱权管辖的大宁卫(今内蒙古自治区赤峰一带)割让给兀良哈部。