带着五十万大军包围北平,架起云梯攻打张掖门。当时朱棣正在永平(今卢龙)作战,守城主将是他的长子朱高炽。这位后来的洪熙帝身有残疾,走路一瘸一拐,却极有韧性。他让人在城墙上泼水,寒冬腊月里,城墙瞬间冻成冰壳,敌军爬上去就打滑。有天夜里,朱高炽选了三百勇士缒(zhui,用绳子拴住人或物从上往下送)城而下,摸到南军大营放了把火,李景隆吓得从床上跳起来,光着脚跑出中军帐,连靴子都跑丢了一只。
第二年春天,朱棣回师北平,在白沟河与李景隆展开决战。南军的火器营很厉害,火箭像蝗虫一样飞来,燕军的战马吓得连连后退。朱棣亲率精骑冲击,坐骑却被流矢射中,换了三次马,头盔都被砍掉了一角。危急关头,他次子朱高煦带着数千骑兵杀到,这人勇猛得像头豹子,挥着槊(shuo,古代兵器,长矛的一种)大喊:\"父王莫怕,儿来了!\"据说他杀得兴起,连铠甲都脱了,光着膀子在阵中横冲直撞。
这场仗打了三天三夜,白沟河的水都被染红了。南军大败,李景隆骑着快马往南逃,沿途丢弃的粮草器械堆成了山。有个叫马三保的燕军小校,在清理战场时捡到一面南军的帅旗,旗角绣着\"平燕将军\"四个字,他偷偷把旗角撕下来塞进怀里——多年后,他会以郑和的名字名扬四海。而在南京,黄子澄捶着柱子哭:\"臣荐人不当,罪该万死!\"朱允炆却只是呆呆地看着地图,上面燕军的箭头正一点点向南推进。
战争打了两年,燕军虽然胜多负少,却始终没能突破山东防线。济南守将铁铉(xuàn)是个硬骨头,不仅多次击退燕军,还在城头挂出朱元璋的画像,让朱棣投鼠忌器。有次朱棣差点被铁铉的伏兵活捉,只带着三个护卫逃出重围,沿途靠吃野果充饥。道衍和尚在北平为他占卜,说\"直取南京,不必恋战\",这句话成了战局的转折点。
建文四年(1402年)正月,朱棣绕过济南,率军直扑徐州。四月在灵璧大败南军主力,俘虏了平安等三十七员将领。这些将领大多是朱元璋的旧部,见了朱棣纷纷下跪,有人哭道:\"王爷,咱们都是跟着太祖爷打天下的,何苦自相残杀!\"朱棣扶起他们,解下自己的披风给平安披上:\"弟兄们,我不是要反朝廷,是要清君侧啊!\"
六月初三,燕军抵达浦口,与南军最后的精锐隔江对峙。朱棣望着滔滔江水,想起四年前从北平出发时的情景,那时身边只有八千人,如今已是数十万大军。可他心里清楚,只要过了这江,就再无回头路。当晚,江面上刮起南风,燕军的战船借着风势直冲南岸,南军的水师一触即溃。有个叫王景的小官,本来是奉命来劝降朱棣的,见燕军势大,当场脱下官服换上燕军的铠甲。
六月十三日,燕军兵临南京城下。金川门守将是谷王朱橞(hui)和李景隆,这两人一个是朱棣的弟弟,一个是前南军统帅。李景隆站在城楼上,看着燕军阵列里飘扬的\"靖难\"大旗,忽然让人打开城门。朱棣拍着他的肩膀说:\"李将军识时务,将来必有大用。\"
燕军入城时,百姓们躲在门后偷看,只见这些士兵虽然衣衫破旧,却纪律严明,没人敢抢东西。
皇宫里早已乱作一团。朱允炆在奉天殿来回踱步,齐泰、黄子澄劝他逃往浙江,徐达的儿子徐辉祖则跪在地上请战:\"陛下,臣愿死守宫门!\"片刻后,宫里烧起了大火。火是从坤宁宫烧起来的,据说朱允炆带着皇后和太子,在火海里自焚了。也有人说,他从地道逃了出去,换上僧衣,往云南方向去了。朱棣进城后在灰烬里找到一具烧焦的尸体,分不清男女,只能对着尸体哭道:\"侄儿啊,你怎么就这么想不开!\"
三天后,朱棣在群臣的\"劝进\"下登基,改元永乐。
许多年后,南京城里还流传着关于这场变故的传说