明太祖朱元璋在位时把儿孙分封到各地做藩王,藩王势力日益膨胀。因太子朱标早逝,洪武三十一年(1398年),皇太孙朱允炆继位,是为建文帝。建文帝与亲信大臣齐泰、黄子澄等采取一系列削藩措施。与此同时,也在北平周围及城内部署兵力,又以防边为名,把明太祖第四子燕王朱棣的护卫精兵调出塞外戍守,准备削除燕王。
朱棣于建文元年(1399年)起兵反抗,随后挥师南下,史称“靖难之役”。建文帝起用老将耿炳文统兵北伐,又派李景隆继续讨伐,而建文帝也缺乏谋略,致使主力不断被歼。朱棣适时出击,灵活运用策略,经几次大战消灭南军主力,最后乘胜进军,于建文四年(1402年)攻下帝都应天(今南京)。
战争历时四年(1399—1402年)。战乱中建文帝下落不明,或说于宫中自焚死,或说由地道逃去,隐藏于云、贵一带为僧。同年,朱棣即位,是为明成祖。
朱棣进入南京后,大肆杀戮曾为朱允炆出谋划策及不肯降附的文臣武将。齐泰、黄子澄、方孝孺、练子宁、陈迪等先后被杀。靖难之役给明初刚刚得到恢复的社会经济又带来不小的破坏,尤其是战争剧烈的地区,所受的破坏更大,形成“淮以北鞠为茂草”的情况。
洪武三年(1370年)四月,明太祖朱元璋为确保明王朝的长治久安,想方设法加强皇室本身的力量,其具体的办法就是分封诸子为王。他把宗室二十五人(24个儿子和1个从孙)封为藩王,分驻北部边境和全国各战略要地,想通过他们来屏藩皇室。朱元璋曾说的:“天下之大,必建藩屏,上卫国家,下安生民,今诸子既长,宜各有爵封,分镇诸国。”从全国来看,这些封藩主要有两类:一是腹里,二是边塞要地。受封诸王在自己的封地建立王府,设置官属,地位相当高,公侯大臣进见亲王都得伏而拜谒。