李景隆打了败仗,退到德州,建文帝反而加封他为太子太师。原来李景隆的败报传到京城,被黄子澄暗中藏匿起来,反而奏称交战获胜,不过因为天气寒冷,不便行兵,所以暂时退到德州,等来年春天再大举进犯。建文帝信以为真,于是加封李景隆为太子太师。李景隆接到圣旨后,迷惑不解,后来接到黄子澄的密函,才知道是黄子澄暗中掩饰,当然感激不尽。而且密函让他来年春天大举进军,也和他的意思相同。于是传令各地,招集兵马。到建文二年的初春,各处的兵马齐集起来,差不多有五六十万人。正准备祭旗出发的时候,忽然接到燕王攻打大同的急报。李景隆马上派兵支援。一路上,冰天雪地,冬天的寒气还很重,将士们叫苦连天。幸好探子来报,说燕王已经从居庸关回到北平了,于是大军又往回返。将士们南归心切,抛弃了无数铠甲兵器,以便速行。一班老弱病残都饿死、冻死在路上。
李景隆返回去一个多月之后,在德州誓师,会同武定侯郭英、安陆侯吴杰等人进兵真定,率兵六十万,队伍排起来有十几里。燕王听说后,对诸将说道:“李景隆这些人真是无能,靠几十万兵马,就想来算计我!他哪里知道人多易乱,前后不能呼应,左右不能共谋,号令不能统一,怎么能成事?你们就严阵以待,敌兵来了就去攻击,怕他做什么!”张玉说:“怎么不先去白沟河扼守要害,然后以逸待劳呢?”燕王点头说:“你说得也有道理。”于是带兵前去。
到白河沟三天之后,从探子那里得知,李景隆的前锋都督平安马上就要攻来。燕王立即拔营前进,渡过五马河,直达苏家桥。猛然间听到炮声骤响,伏兵一拥而上,当先的一员大将挺矛出阵,正是南军都督平安。他后面的瞿能父子,也跃马而来,刀光闪闪,逢人便砍。燕兵猝不及防,开始向后倒退,差点旗靡辙乱。这时队伍里忽然冲出三员骁勇的大将出阵阻拦,与平安大战起来。燕军望过去,这三人一个是内官狗儿,一个是千户侯华聚,一个是百户侯谷允,三员大将盘旋厮杀,真是棋逢敌手。一直打到日落,双方才鸣金收军。第二天,李景隆、郭英、吴杰等人全都来了,魏国公徐辉祖也奉命出兵。几个人商定一番后,暗地里将火器埋在地下,然后出兵诱敌。燕军不知有诈,一路追来,忽然间火器爆炸,烟焰冲天,燕军都被烧得焦头烂额,连忙往回逃,就连燕王也不能阻止,只好亲自断后。逃了一程,天色已晚,燕王四顾手下,只有三个人跟着。当时愁云惨淡,树木苍茫,竟然辨不清东西南北。一会儿又听见水声潺潺,料知已经到达白沟河,于是急急忙忙跑到河边,辨明方向,仓促渡河,直抵北岸。走了一段路,看见自家的大营,这才放心,下令将士明天再战。
转眼间就已经天亮。燕王派张玉统领中军,朱能统领左军,陈亨统领右军,房宽为先锋,邱福为后应,共带着十几万兵马,渡河列阵。南军营中的瞿能父子约了平安,先后赶到。正巧遇到房宽前来,两下相交,不到十个回合,房宽的兵马就已经溃散。张玉等人见房宽败下阵来,都有些害怕。正在这紧要关头,只听燕王大喝一声,带着几千精兵,冲到阵前,舍命冲突。两军一直拼杀到中午,燕军已经有些疲倦。瞿能父子乘机上前,连连砍杀燕骑一百多人。这个时候,忽然北风骤起,飞沙走石,让人眼睛都睁不开,接着一声怪响,把李景隆身前的大旗折成了两段。李景隆觉得大事不妙,正准备鸣金收军,忽然燕军队里,射出许多带火的箭,火仗风势,烈焰冲天。燕王趁机绕到李景隆的阵后,带兵突入。前面的高煦又带领将士们,一齐纵火,顺风痛杀。可怜这瞿能父子,及俞通渊、滕聚等人全都葬身火海。平安骑马逃走。南军纷纷溃散。燕王麾兵直追,一直追到月样桥才收兵回营。李景隆再次逃回德州,抛弃的器械物资,数不胜数。多亏徐辉祖率兵断后,才不至于片甲不留。过了几天,燕王进攻德州,还没赶到城下,李景隆就已经逃走了,仓库里还有一百多万石粮食来不及带走。燕军入城后,安安稳稳地得到了粮草,声势越来越旺。
那时山东参政铁铉正押着粮饷前来。听到李景隆战败逃跑的消息,急忙跑到济南,与参军高巍收集残兵败将,发誓死守。李景隆这时候也逃到济南,在城外扎营。燕军乘胜进攻,李景隆的十多万兵马仓促迎战,又被燕军杀败。李景隆单骑逃走。燕军开始围攻济南,铁铉、高巍二人拼死防守,燕军久攻不下。
警报传到京城,建文帝心慌意乱,就与齐泰、黄子澄商量,假装派人到燕军议和,接着召李景隆回京,将所有的军务都交给左都督盛庸代理,并升铁铉为山东布政司使。燕王已经发兵,怎么肯半途而废?见了朝使,一概置之不理。燕王命将士们往城里灌水,城里顿时成了泽国。一时间,人心惶惶。铁铉宣告百姓:“大家都不要担心,本人自有良策,只要静等三天,就可以破敌!”百姓都不知他葫芦里卖的什么药,只能等着。铁铉居然不慌不忙,暗中派人出城求降,接着召集了几百名父老乡亲,秘密叮嘱一番,让他们出城赶赴燕王大营。燕王出营巡视,只见百姓都跪在路旁,哭着说:“奸臣不忠才让大王蒙受冤屈,跋涉至此。大王是高皇帝的儿子,我们是高皇帝的百姓,哪里敢违抗大王的命令?但百姓看见大兵压境,体会不出大王为国为民的苦心,还以为要大肆屠杀。大王如果真心爱民,就请退师十里,单骑入城,我们自当伏地欢迎!”燕王大喜,好言抚慰一番之后,让他们回城。第二天下令退军。只带了几个人,渡过吊桥,直达城下。城门果然已经大开,里面有无数官兵、百姓跪在地上,高呼千岁。燕王得意扬扬,缓缓走入。刚走到城门边,忽然听到一声怪响,连忙往上看,城上竟然放下一块铁板,差不多有几千斤重。燕王眼明手快,急忙勒马倒退。刚离开几尺,那铁板已经压下,正中马头,马头立刻被砸得粉碎。燕王从马上摔下,幸好被旁边的随从扶起,换了一匹马,飞驰而去。桥下本来设有伏兵,见燕王将要过桥,都冲出来拆桥板。偏偏桥板坚固,一时间拆不动,竟然被燕王越桥逃走。铁铉急忙出城来追,却为时已晚。回到城中之后,铁铉仍然叹息不已。
第二天一早,炮声震天,燕军前来攻城,铁铉急忙登城督兵。那炮石非常厉害,弹着城墙便有窟窿。铁铉急中生智,挂出了一个大牌子,上面写着“太祖高皇帝之灵”,字写得很大。燕王看了也觉得难为情,就不再攻城。守兵乘机修缮,城墙再次坚固起来。铁铉又密约盛庸内外夹攻,燕王只好突围北上。铁铉出兵追敌,一直追到德州。城内的燕军听说燕王北归,也无心防守,弃城逃去。德州随即收复。建文帝封盛庸为历城侯,升铁铉为兵部尚书,又下诏命盛庸统兵北伐,任平燕将军。副将军吴杰进军定州,都督吴凯进军沧州,互相照应,共图北平。
这消息传到燕王的耳朵里,燕王不以为意,反而下令出击辽东。走到通州的时候,张玉、朱能前来禀报:“大敌当前,正是抵御的时候。如果出兵辽东的话,不是舍近求远了吗?”燕王听了,对二人悄悄说了一番话,二人这才点头。随即火速赶往天津,经过直沽,下令将士,沿河向南行进。燕王带兵一昼夜赶了三百里,走到天明,已经抵达沧州城下。沧州镇帅吴凯没料到燕兵突至,带着部下开城逃走,在路上,被燕军擒获。燕王非常高兴,命人将俘虏、物资,全部运到北平。自己带兵继续向南,又来到德州城下。盛庸仍然坚守不出,燕王久攻不下。只好带兵入侵临清、大名,接着来到济宁。盛庸马上与铁铉、平安合兵,驻守在东昌,并摆下火器、毒箭,专等燕军到来。燕军仗着屡战屡胜的威风,火速前来,一见南军,立即奋勇杀入。只是对方火器、毒箭频发,士兵沾上即死。燕王见前队的将士多半受伤,气愤难忍,竟然亲自带领精骑,冒险冲入南军。盛庸见燕王亲自前来,故意分开两翼,任燕王杀入,等燕王冲到中间,才派兵包围起来。燕王这时才知道中计,慌忙夺路而逃,可惜四周好像铜墙铁壁一般,无论如何都走不脱。燕将朱能、周长等人望见燕王被困,急忙率兵相救。突入围中,奋力拼杀,才杀开一条血路,护着燕王突出重围。张玉还以为燕王没有脱身,拼命杀入,最后死于南军的乱箭之下。这时候朱高煦、华聚等人前来相救,击退南军,燕军扬长而去。
燕王回到北平,检阅将士,损失两三万人,后来又听说大将张玉战死,不禁痛哭:“兵败倒是没有关系,损失了一员良将,才是可惜。”诸将听了,也纷纷落泪。随后,燕王下令休养生息,准备等来年再大举进犯。
建文帝听说东昌大捷,非常欣慰。一面祭拜太庙,一面让齐泰、黄子澄官复原职,就是召还京师的李景隆也没有问罪。建文三年,建文帝正准备祭祀圜丘,大行庆贺之礼。忽然听说燕王朱棣又出师北平,从保定南下了。