朱元璋建立明王朝后,通过一系列政治改革,集军政大权于一身,但他还有件心事放不下,那就是属下将官不是朱家皇室中人,他觉得靠不住。于是他决定分封诸王,屏藩王室。朱元璋共有二十六个儿子,除了长子朱标立为太子,留守京城,还有二个儿子早死外,其余二十三个儿子都被封为亲王,分驻于全国各战略要地。
诸王在自己的封地建立王府,设置官属,拥有护卫兵,享有监督地方官吏和军队的权力。朱元璋以为把军权托付给自己的亲生骨肉,就万无一失了。这些亲王有自己的护卫军,一旦地方有变,可以当机立断,单独应战;京师危急,可以起兵勤王。这样就可以达到屏藩皇室、翼卫朝廷的目的。
分封之初,鉴于历史上分封所带来的弊病,一些官员颇感不安。洪武九年(1376年),太祖因星变求言,平遥县训导叶伯巨应诏上疏,指出“分封太侈”必酿大祸。他说:“亲王的封国太大,甲兵卫士太多,军权过重,臣担忧数世之后,尾大不掉,到时就不得不对他们削地夺权。那样,很可能引起亲王怨恨,酿成像汉代的七王、晋代的八王之乱。愿陛下趁诸王还未分赴封国之时,节其都邑之制,减其卫兵,限其疆里。”明太祖听后勃然大怒,骂道:“这小子是在离间我的骨肉,快点抓来,我要亲手射死他。”叶伯巨结果被逮捕,囚死狱中。此后百官再也无人敢议削藩之事了。
大乱没有等到叶伯巨所料的“数世之后”,而是在朱元璋死后就出现了。
洪武二十五年(1392年),太子朱标病亡,孙子朱允谝赖粘坛械睦裰票涣⑽皇太孙。洪武三十一年(1398年),朱元璋撒手西归,皇太孙即位,改第二年为建文元年。当时的诸王都是建文帝的叔父,几位年纪大的藩王都久经战阵,屡建奇功,他们手里又握有重兵,自然不把年轻、孱弱、没有经验的朱允诳丛谘劾铩L乇鹗茄嗤踔扉χ怯滤全,他私制兵器、偷印宝钞、招兵买马、搜罗异人术士,蓄谋夺取中央政权。建文帝深感诸王对自己的威慑,同兵部尚书齐泰、太常寺卿黄子澄计议削藩之策。建文帝采纳齐泰、黄子澄的计划,实行削藩,颁布藩王不得指挥和管辖文武官员的禁令。接着翦除燕王的羽翼,将燕王同母弟周王朱莘衔庶人,迫使湘王朱柏自焚而死。随后又将齐王朱邸⒋王朱桂、岷王朱芊衔庶人。五个藩王被废,使燕王陷于孤立。最后决定向燕王开刀。但是,上述行动不但给燕王以口实,而且还让他有时间进行准备。
建文元年(1399年)七月,朱棣采取先发制人的手段,起兵反抗朝廷。为了说明自己的行动是正义的,他援引朱元璋在《祖训》中“朝无正臣,内有奸逆,必举兵诛讨,以清君侧”的训示为理由,指齐泰、黄子澄为奸臣,责骂他们变乱祖宗法制,须加诛讨,自称举兵为“靖难”(意即平定祸难)。史称这一场朱家王室内部的夺权斗争为“靖难之役”。
“靖难”之师初战捷报频传,不到一个月,就攻取了北平北面的居庸关、怀来、密云和东面的蓟州、遵化、永平等州县,既除去了后顾之忧,又可补充兵力,然后再集中全力对付朝廷的问罪之师。
当年跟随朱元璋打天下能征惯战的元勋宿将已被朱元璋杀得差不多了,到了朱棣起兵之时,建文帝身边既无良将出征,又无老谋深算的文臣谋划。只好起用幸存的老将耿炳文为大将,率兵十三万讨燕。两军会战于河北滹沱河。燕王在中秋之夜乘朝廷军不备,袭破雄县,朝廷军的先锋部队全军覆没,继而燕王又在滹沱河北岸大败耿炳文的主力部队。
建文帝见耿炳文不中用,又听黄子澄之言,改用李景隆统军。李景隆本是纨子弟,他起初中了朱棣诱敌深入之计,率军直抵北平城下,遭到燕军内外夹击,惨败而退。接着以六十万众在白沟河(今河北雄县北)和燕军会战,又遭惨败。朝廷军被杀死和溺水而死者十几万,横尸百余里。李景隆躲入德州,燕王乘胜追击,围攻德州。李景隆又弃德州,奔济南,燕王率军尾追不舍。这时李景隆还有兵甲十几万,仓猝出战,布阵未定,被燕王亲自率领的精骑猛冲击败,李景隆单骑落荒而逃。建文帝见李景隆一败再败,愤而免去其大将军职务,以左都督盛庸接任。
在盛庸和山东布政使铁铉的奋力防守下,济南才得以保住。燕王把军队撤回北平休整待战。接着,东昌一战,屡胜轻敌的燕军被盛庸打得惨败,将领张玉被杀,朱棣也被围困,幸亏朱能的援军赶到,才冲出重围。事后,朱棣总结东昌战役失败的教训,告诫将士:“自今不要轻敌,要奋不顾身,只能进,不能退。”