。湘王不堪受辱,为保名节举家自焚;齐王被软禁在南京;代王被软禁在封地大同。两个月后,削岷王,废为庶人,徙漳州。
由于朝廷削藩激化矛盾,藩王与朝廷开始决裂,此时实力最强的燕王就成了真正的众藩之首。而朱允?与朱棣之间的博弈亦逐渐激化。
燕王起兵
洪武三十一年十二月,为了提防燕王造反,朱允?派工部侍郎张?为北平布政使,都指挥使谢贵、张信为北平都指挥使。随后又命都督宋忠屯兵驻开平,并调走北平原属燕王管辖的军队。
燕王朱棣见到几位藩王先后被削,明白如此下去必无法逃过此劫,而心中早已对父皇任命自己的侄子为太子而继位有所不满,便立即诱杀了前来执行监视逮捕任务的将臣,于建文元年(1399年)七月起兵反抗明朝中央政府。
朱元璋当国时,恐权臣篡权,规定藩王有移文中央索取奸臣和举兵清君侧的权利,他在《皇明祖训》中说:“朝无正臣,内有奸逆,必举兵诛讨,以清君侧。”朱棣以此为理由,指齐泰、黄子澄为奸臣,须加诛讨,并称自己的举动为“靖难”,即靖祸难之意。因此,历史上称这场朱明皇室内部的争夺战争为“靖难之役”。
击败耿炳文、李景隆
朱棣初起兵时,燕军只据北平一隅之地,势小力弱,朝廷则在各方面都占压倒性优势。所以战争初期,朝廷拟以优势兵力,分进合击,将燕军围歼于北平。朱棣采取内线作战,迅速即攻取了北平以北的居庸关、怀来、密云和以东的蓟州、遵化、永平(今河北卢龙)等州县,扫平了北平的外围,排除了后顾之忧,便于从容对付朝廷的问罪之师。经过朱元璋大肆杀戮功臣宿将之后,朝廷也无将可用,朱允?只好起用年近古稀的幸存老将长兴侯耿炳文为大将军,率军13万伐燕。建文元年八月(真定之战),师至河北滹沱河地区。燕王在中秋夜乘南军不备,突破雄县,尽克南军的先头部队。继而又于滹沱河北岸大败南军的主力部队。建文帝听到耿炳文军败,根据黄子澄的推荐,任曹国公李文忠之子李景隆为大将军,代替耿炳文对燕军作战。
李景隆本是纨绔子弟,素不知兵,“寡谋而骄,色厉而馁”。九月,李景隆至德州,收集耿炳文的溃散兵将,并调各路军马,共计50万,进抵河涧驻扎。当朱棣侦知李景隆军中的部署后,笑着说,兵法有五败,李氏全犯了,其兵必败无疑,这就是政令不修,上下离心;兵将不适北平霜雪气候,粮草不足;不计险易,深入趋利;求胜心切,刚愎自用,但智信不足,仁勇俱无;所部尽是乌合之众,且不团结。为了引诱南军深入,朱棣决计姚广孝协助世子朱高炽留守北平,自己亲率大军去援救被辽东军进攻的永平,并告诫朱高炽说:“李景隆来,只宜坚守,不能出战。”朱棣还撤去了卢沟桥的守兵。
朱棣这一招果然灵验,李景隆听说朱棣率军赴援永平,就率师于十月直趋北平城下。经过芦沟桥时见无守兵,禁不住欢喜,说:“不守此桥,我看朱棣是无能为力了。”这时朱高炽在北平城内严密部署,拼死守卫。李景隆则号令不严,指挥失当,几次攻城,皆被击退。南军都督瞿能曾率千余精骑,杀入张掖门,但后援不至,只好停止进攻。又因李景隆贪功,要瞿能等待大部队一起进攻,错过了时机。燕军则因此得到喘息,连夜往城 墙上泼水,天冷结冰,待到次日,南军也无法攀城进攻了。朱棣解救永平之后,率师直趋大宁(今内蒙古宁城西)。
联宁王、战山东
大宁为宁王朱权的封藩,所属朵颜诸卫,多为蒙古骑兵,骁勇善战。朱棣攻破大宁后,挟持宁王回北平,合并了宁王的部属及朵颜三卫的军队。朱棣带着这些精兵强将于十一月回师至北平郊外,进逼李景隆军营。燕军内外夹攻,南军不敌,李景隆乘夜率先逃跑,退至德州。次日,士兵听说主帅已逃,“乃弃兵粮,晨夜南奔”。
建文帝为大臣所蒙蔽,反而奖励打了败仗的李景隆。建文二年(1400年)四月,李景隆会同郭英、吴杰等集合兵将60万众,号称百万,进抵白沟河(今河北雄县北)。朱棣命令张玉、朱能、陈亨、丘福等率军十余万迎战于白沟河。战斗打得十分激烈,燕军一度受挫。但南军政令不一,不能乘机扩大战果。燕军利用有利时机,力挫南军主将,南军兵败如山倒。李景隆再次退走德州。燕军跟踪追至德州。五月,李景隆又从德州逃到济南。朱棣率燕军尾追不舍,于济南打败李景隆率领的立足未稳的十余万众。济南在都督盛庸和山东布政使铁铉的死守下得以保住。朱棣围攻济南三月未下,恐粮道被断,