夹河、藳城之战
东昌之败之后,朱棣以此为耻,与道衍和尚姚广孝商议对策。道衍强烈支持朱棣再次出兵。于是于建文三年(1401年)二月初九日,朱棣祭阵亡将士,并脱下袍子烧掉,激励军士。二月十六日,朱棣再次出师。当时盛庸驻兵二十万于山东德州,吴杰、平安驻扎在真定。朱棣决定趁南军两军分隔,先破盛庸一部。三月二十日,燕军探知盛庸在夹河(今河北省衡水市武邑县附近,漳河支流)驻扎,于是驻扎在距对方四十里的地方。
三月二十二日,燕军进兵夹河。盛庸仍结下坚阵,备大量火枪强弩。朱棣利用建文帝严禁伤害燕王之旨,亲自率几个轻骑兵掠过南军阵地侦查。盛庸不敢开枪,只得派出自己的骑兵追赶朱棣,不了了之。侦查后,朱棣率领一万骑兵和五千步兵攻击盛庸军左翼,不能入。此时燕将谭渊望见已经开战,于是主动出兵攻打。盛庸部将庄得死战,会合盛庸军,斩杀谭渊。朱棣、朱能等则趁南军调动产生的混乱,趁暮色向南军后方猛攻,斩杀庄得。盛庸稳住了阵脚,天色已晚,双方罢兵。此战杀伤相当,但燕军损失了大将谭渊。
当夜,朱棣率领十余人在盛庸营地附近露宿;三月二十三日清晨,朱棣发现被南军包围。朱棣再次利用禁杀之旨,引马鸣角,穿过敌军,扬长而去。南军愕然,不敢射箭。朱棣回到营中,鼓励众将“两军相当,将勇者胜”,于是燕军在东北方向,盛庸军在西南方向,再次会战。燕军左右冲击,盛庸坚守,双方互有胜负。战斗打了三四个时辰后,突然刮起了强烈的东北风,尘埃蔽天。南军顶著风沙,根本没法作战;燕军则乘风大呼,纵左右翼横击之,盛庸大败,损失了数万人后,退回德州。吴杰、平安引兵准备会合盛庸,闻庸已败,退回真定。夹河之战结束。夹河之战重新确立了燕军的优势。闰三月初四,建文帝因夹河之败,再次罢免齐泰、黄子澄,谪出京城,暗中令其募兵。
击败盛庸后,朱棣进军真定。考虑到攻城较困难,决定诱敌出战。于是下令军中四出取粮,而用间谍向吴杰等透露此事。吴杰等见状,决定袭击燕军。闰三月初九,两军会于藳城,遂交战。南军列方阵,朱棣则率精锐攻其东北角以破阵。燕将薛禄由于马失足被擒,但夺敌刀斩数人后,夺马逃走。此战大量燕军被南军的火枪和弓弩所伤,朱棣的帅旗被射得像刺猬一样;但是,由于朱允炆的禁杀之旨,朱棣本人反而没事。
次日,两军再次交战。在战斗中突然又刮起了猛烈的大风,南军不能支,大败而去。燕军四面围攻,斩首六万余级。吴杰、平安等逃回真定,坚守不出。朱棣将射成刺猬的军旗送回北平,令世子朱高炽妥善保存,以警示后人。从白沟河、夹河到藳城,燕军三次得大风相助而胜,朱棣认为这是天命所在,非人力所能为。