建文帝便依计而行。
燕王早就暗中练兵,准备谋反。为了麻痹建文帝,他假装得了精神病,成天胡言乱语。齐泰、黄子澄不相信燕王有病,他们一面派人到北平把燕王的家属抓起来,一面又秘密命令北平都指挥使张信去捕燕王,还约定燕王府的一些官员做内应。不料张信是站在燕王一边的,反而向燕王告了密。
燕王是个精明人,知道建文帝毕竟是法定的皇帝,公开反叛,对自己不利,就说要帮助建文帝除掉奸臣黄子澄、齐泰,起兵反叛。历史上把这场内战叫做“靖难之变”(靖难是平定内乱的意思)。
这场战乱,差不多打了4年。到了1402年,燕军在淮北遇到朝廷派出的南军的抵抗,战斗进行得十分激烈。有些燕军将领主张暂时撤兵,燕王却坚持打到底。不久,燕军截断南军运粮的通道,发起突然袭击,南军一下子垮了。燕军势如破竹,进兵到应天城下。
过了几天,守卫京城的大将李景隆打开城门投降。燕王带兵进城,只见皇宫火光冲天。燕王派兵把大火扑灭时,已经烧死了不少人。他查问建文帝的下落,有人报告说,燕兵进城之前,建文帝下令放火烧宫,建文帝和皇后都跳到大火里自焚了。
随后,燕王朱棣即了位,这就是明成祖。1421年,明成祖迁都北京。从那时起,旧时人认为人死后有鬼魂存在,朱棣总感觉北京一直是明朝的京城。