建文朝臣也探知消息,知道燕军正在苦撑,败象已露,就劝建文帝说:“燕军很快就要败北,京师不可无良将。”建文帝不知兵,马上下诏召回徐辉祖军入卫京师,小河战场只剩下何福所率一支孤军与燕军相持。
双方对垒期间,燕王朱棣令军士进行休整,又广赐财物,收买军心。明军由于畏战,往往掘堑作垒为营,军士白日黑夜都不得喘息,虚疲人力,往往真到作战时全无体力。
由于日久乏粮,明将何福下令移营至灵壁就粮。当时,明将平安师骑兵六万人,护送大量运粮兵车前往何福营中。朱棣侦知消息后,派精兵万余人阻挡平安援兵,并派朱高煦伏兵林间,等候双方混战后明军疲惫时忽然杀出助战。
燕王朱棣安排停当后,率师逆战,两翼骑兵扇形排开,直杀明运粮援兵。平安引军突至,截杀燕兵一千多人。朱棣见状,忙命步军纵击,横贯明军大阵,截断其军。明将何福见仗已开打,就也率军出壁而战,与平安合击燕军,又杀燕兵千余,燕军小却。
朱高煦见双方打得火候差不多,趁明军喘息之际,忽然率生力燕军加入战斗,朱棣又率后退的燕兵急转身,一齐掩杀明军。“(何)福等大败,杀伤万余人,丧马三千余匹,燕师尽获其粮饷。”
何福所率的明军逃入营垒后,饿得双眼发蓝。众将集合议事,决定转天突围,闻炮声即开门冲出。没等天亮,朱棣已指挥大军进攻明营,诸将先登,兵士蚁附。燕军发三震炮,何福部下明军误认为是自己军营突围的炮号,争相推营门冲去,“门塞不得出,营中纷扰,人马坠壕堑皆满”,燕兵乘势大击,明军一败涂地。除何福一人侥幸逃脱外,由于营中驰马不便,大将平安、陈晖都多名明将皆被燕军生擒。至此,明军主力几乎丧失大半。
看见被捆缚押入大帐的平安,燕王朱棣笑问道:“淝河之战,公马不踬,何以遇我?”
平安朗声大言:“刺殿下如拉朽耳!”
面对如此忠贞不屈之士,朱棣本人也不得不心生赞叹:“高皇帝(朱元璋)好养壮士!”命人送平安于北平关押,未加杀害。
从此,明军情势急转直下。本来十万明兵从辽东赶往济南想与铁铉合军,走到直沽就被燕军截杀,主帅杨文被擒,没有一个人能到济南。1402年6月,燕兵至泗州,守军不战而降。
朱棣列大兵于淮河北岸,明将盛庸拥数万兵于南岸。未几,燕兵又施奇袭计,这群惯于骑马的北方兵竟能先派数百人乘小舟先入南军舰队中放炮,屡战屡败的南军惊骇至极,弃舰而逃。燕军乘胜,当天就攻克盱眙,直趋扬州。
扬州守将王礼等人暗中通款燕王,把主管江淮的监察御史王彬捆住,大开城门投降。接着,燕兵又降高邮、克仪真。此时,长江之上,遍插燕王大旗的巨舟往来穿梭,旗鼓蔽天。
金陵城内,大臣们见势头已变,各自心怀鬼胎,都以守城为名求出,致使都城更加空虚。
情急之下,建文帝派燕王堂姐庆城郡主入燕营请和,答应割地,与燕王中分南北,划江而治。事已至此,朱棣当然不干,婉言拒绝。建文帝惶急,忙问方孝孺:“今奈何?”孝孺书生,只能回言:“长江可当百万兵,江北船已遣人烧尽,北师岂能飞渡?”
7月,燕军大集合,于浦子口向明军发起攻击。明将盛庸与诸将逆战,竟也击退燕军,又赢得一次暂时的胜利。
“燕王欲且议和北还”。估计天气溽热,朱棣自己也有些顶不住,毕竟已得到一半国家,想先回北平休整一下再图后举。假如此次朱棣回北平,后来的事情还真难以预料。大胜大败,谁也说不清楚,况且建文嫡孙嗣位,正朔所宗,军心民心,道德的力量无比巨大,会在一夜之间可能突然令燕军兵败如山倒。
节骨眼上,朱棣能征惯战的儿子朱高煦“引北骑至”,生力军又来,不由不使朱棣大喜过望,他一跃而起,全身贯甲,抚着朱高煦后背说:“勉之!世子多疾。”言外之意要把继承权传给朱高煦。有这一句话,朱高煦活人被打强心针一样,铁了心死战。
建文帝本来派都督佥事陈喧率军增援盛庸,不料陈喧径直坐船过江投降了朱棣。
于是,“燕王乃祭大江之神,誓师渡江,舳舻相衔,旌旗蔽空,金鼓大震。”加上当日天气万里无云,水平如镜,虽然盛庸水军沿江列舰二百余里,但看见燕军如此盛势,“皆大惊愕”。仗未开打,心理上已经输掉。
燕军乘船迫岸,首先直冲盛庸主营。“(盛)庸师溃,追奔数十里。(盛)庸单骑遁,余将士皆解甲降。”明军舟师如此之众,竟不战而降,至此可见燕军的兵威已经非同一般。
抢渡长江后,燕军又攻下镇江咽喉要地,直奔金陵杀来。