耿炳文的表现和朱允炆的预期相差太远,朱允炆遂召集亲信大臣,打算换帅。当时,明朝的开国名将仅剩耿炳文和郭英两人,前者刚刚兵败,后者又有病在身,不能担当大任,朱允炆只能从“将二代”中挑选新帅。而最合适的人选就是徐辉祖和李景隆。从军事经验和威望上来说,徐辉祖更胜李景隆一筹。
但是,考虑到徐辉祖的姐姐是朱棣之妻,朱允炆怕徐辉祖和朱棣有瓜田李下之嫌,他最终选了李景隆。
当年冬天,李景隆在郑村坝和朱棣相遇,朱棣麾下大将张玉悍勇无比,连挑李景隆7座营帐,李景隆抵挡不住,大军溃败。
这时,有人建议让徐辉祖北上接替李景隆。但朱允炆对徐辉祖的信任远不比李景隆,朱允炆认为李景隆之所以会兵败,是因为后者权柄不够,诸将不听调遣。于是快马加鞭送给李景隆“黄钺弓矢”,赋予李景隆“专征伐”之权。
次年,李景隆纠集大军,打算在白沟河歼灭燕军。朱允炆召徐辉祖入宫问军事,徐辉祖说他最怕李景隆轻敌。朱允炆觉得徐辉祖言之有理,于是派徐辉祖带领三万兵马北上,以策应李景隆,《明史纪事本末》云:
帝虑景隆轻敌,乃遣魏国公徐辉祖帅京军三万为殿,星驰会之。
不料,徐辉祖还未到达白河沟,李景隆便已经溃不成军,南军将士号称五十万,兵败如山倒。
李景隆这一败,几乎败光了朱允炆的家底,让南军在此后很长一段时间都未能恢复元气。若不是盛庸和铁铉在济南竖起铁闸,朱棣早就直达京师了。
李景隆虽然败了,但徐辉祖带领的3万兵马也发挥了作用,史载:
景隆单骑走德州……是战也,魏国公徐辉祖帅军为殿,独全军而还。
意思是,李景隆逃往德州的时候,徐辉祖正好出面帮他挡住了燕军的追击,掩护了大军的撤离。当时南军所有将领几乎都吃了大亏,只有徐辉祖的3万兵马全身而退。
注意,徐辉祖之所以能够全身而退,并不是朱棣给他放水,而是徐辉祖的确是一位良将,接下来的史料会证明这一点。
建文四年,朱棣改变进攻线路,绕过济南,直接攻打灵璧,何福和平安力战不支,朱允炆派徐辉祖带兵驰援。在灵璧西南三十里的齐眉山,两军遭遇,徐辉祖先虚后实,亲率大军冲入燕军营地,大*四方,不仅斩*了燕军骁将李斌,更让朱棣生了撤兵的念头。
正在徐辉祖在前线证明自己的时候,朱允炆却出了一个昏招。《明鉴纲目·卷二》记载:
而帝闻讹言,谓燕兵已北,召辉祖还。福军遂孤。
当时有传言说朱棣已经撤兵,朱允炆认为京城不能没有大将镇守,于是召徐辉祖回京。不承想徐辉祖前脚刚到南京,朱棣便突袭了淮北的何福和平安二将,二将失去了徐辉祖的对敌军的牵制,势孤而败。
朱棣趁势南下,克泗州、下扬州,大军直逼南京浦口。情况紧急,朱允炆放下芥蒂,让徐辉祖率领京师守卫阻击燕军。
浦口之战甚是激烈,朱棣当时已经精疲力尽,仍未能攻破徐辉祖的防线。在这个时候,发生了两件事,扭转了大局:
第一是南军将领盛庸率领的水师在东线兵败,燕军抢了盛庸的战舰,掉头来攻打徐辉祖,让徐辉祖的防线压力倍增。
第二是朱棣的次子朱高煦突然*来,朱棣为了南下浦口,对朱高煦许诺说:“勉之!世子多疾。”朱棣是在暗示朱高煦,若自己夺位成功,朱高煦便是自己的继承人。这句话仿佛给朱高煦打了鸡血,朱高煦带领亲信玩命地冲击徐辉祖。