朱棣分军还击,陈晖军士争先渡河而逃,此时河中冰块突然融解,溺死者不计其数。
十五日,又与李景隆大战郑村坝。
朱棣用精选的骑兵先攻破李景隆七营,其他诸将相继来战,李景隆大败而还。
十九日,李景隆又上书请求出征。
十二月,李景隆调兵于德州,准备明年大举进攻。
朱棣计划攻打大同,对手下说:“进攻大同,李景隆必定要赶来救援,大同天气寒冷,南军脆弱,不战也病疲了。”
建文二年,公元1400年一月一日,朱棣攻克蔚州。
二月十一日,朱棣到大同。
李景隆果然由荆金关前来增援。
朱棣亲率将士立即调兵居庸,李景隆部属大多被冻死饿死,不见敌人而还。
夏四月,李景隆进兵河间,与郭英、吴杰、平安约定白沟河相会。
二十日,朱棣扎营苏家桥。
二十四日,在白沟河侧与平安相遇。
朱棣以百余骑在前,假装退却,引诱平安军阵地骚动,然后趁机攻击,平安败走。
朱棣军迫近李景隆,初战不利,到了天黑,不得已收兵。
朱棣以三骑殿后,夜晚迷失了方向,亲自下马伏地察看河流才辨明东西,渡河而去。
二十五日,又战。
李景隆横阵数十里,破燕后军。
朱棣亲率精骑迎战,斩杀瞿能父子,又令丘福冲击李景隆主力部队,不得入。
朱棣动摇李景隆左军,李景隆遂绕至朱棣后边。
大战良久,飞箭如雨注一般。
朱棣三换其马,矢尽剑断,挥剑折走登堤,佯装引鞭招后继援军状。
李景隆怕有埋伏,不敢前进,援军高煦赶到,才解围。
这时,南军也聚集,燕军将士都大失声色。
朱棣气愤地说:“我不进攻,敌人就不会退却,必须战斗!”当下又以劲卒突袭李景隆背后,前后夹击,正好旋风四起,李景隆军旗被折,朱棣趁风放火奋起反击,斩杀数万,溺死者十余万人。
郭英溃败西逃,李景隆向南逃,朝廷赐给他们的玺书兵器也全部丧失,败走德州。
五月九日,朱棣攻入德州,李景隆败走济南。
十六日,朱棣攻济南,大败李景隆于济南城下。
至此,李景隆完败于朱棣,不再对朱棣形成威胁。
朱棣继续进攻,结果碰到铁铉、盛庸坚守,久攻不下。
这时,道衍来信,说军士已经疲惫,请班师回来。
朱棣看了道衍的信后,考虑到自己军队确实来疲惫了,同时也知道铁铉和盛勇的厉害,再攻下去,只会拖累军队,当下解围回北平而去了。