歷史背景
濟南之戰後,南軍因撤換主帥取得主動優勢,遂主動發動討伐戰。建文二年(西元1400年)十月,朱棣聞報南軍北上,主動南下迎擊,明令征遼東,暗派徐理、陳旭在直沽(今天津市中)修浮橋,以繞過青縣、長盧的南軍防線部署。
戰鬥過程
進軍和前哨戰
十月廿五,領軍從通州折南,沿河晝夜兼行,襲擒監倉哨所百餘人,南軍遂不知燕軍動向。十月廿七到滄州,敵軍守將徐凱尚在修築防禦中,將士來不及換上戰甲即投入戰鬥。燕軍大將張玉(一說朱棣親自)帥部隊肉搏攻下滄州城。斬首萬餘級,獲馬九十餘匹,生擒都督徐凱、程暹、都指揮俞琪、趙滸、胡原、李英、張傑並指揮以下百餘人。燕軍自長蘆渡河經過景州,十一月初四到達德州,並不理會濟南城。時盛庸守衛德州,朱棣招降盛未果,遂南下;盛庸軍襲擊燕軍後軍,卻因為朱棣親自殿後,將士都不敢射箭或接戰擒敵,即便朱棣所部僅數十騎,燕軍擒殺百餘人再而全軍而退。十一月,燕軍到達臨清;朱棣決定擾亂南軍的糧道,遣輕騎至大名,焚其糧船。燕軍從館陶渡河(衛運河,京杭運河的一部分;當時黃河奪淮入海),先後到達東阿、東平,威脅南方,迫使盛庸南下。盛庸將計就計,決定在東昌(今山東聊城)決戰,並在陣中擺了大量火槍和毒弩。
首日作戰
十二月廿五,燕軍至東昌,盛庸率部出城迎擊。朱棣仍然親自率軍衝鋒,沿用之前的戰術,先衝擊其左翼,但因盛庸部署了精銳步兵於彼而不動;然後又衝擊其中堅,盛庸開陣將朱棣誘入,然後合圍。朱棣被重重包圍,燕軍張玉、朱能(一說還有朱高煦)分別引兵來救,朱能(或朱高煦,下同不表)負責殺入重圍援救朱棣,張玉則負責吸引分散敵軍,終於朱棣和朱能會合,逃離戰場。但大量燕軍軍士被預先布置的火器劍弩所傷,張玉則戰死。平安亦率兵趕來,與盛庸合兵作戰。
再戰和敗退
次日,燕軍再戰不利,總計損失萬餘人,遂北還,盛庸等率部追殺,北軍死傷甚多。
擊退南軍的阻截後,建文三年正月十六,燕軍部隊返回北平。
張玉戰死,朱棣十分悲傷。
結果影響
燕軍
東昌之戰,朱棣多次瀕臨險境。但是由於朱允炆的“毋使朕有殺叔父名”旨意,諸位將領怕被朱允炆帶上殺叔的帽子,而被處決,又怕抓住朱棣讓朱允炆難做,朱允炆之後會刁難自己,南軍不敢傷害他,也不敢抓他;朱棣也恃此特權,單騎視察前線或殿後,南軍無可奈何。
建文軍
東昌之戰是靖難以來南軍的第一場大捷。惠帝朱允炆十分高興,建文三年(1401年)正月恢復了齊泰、黃子澄的官職(建文元年十一月兩人被罷免,但仍作為智囊留用;至是恢復齊的兵部尚書和黃的太常寺卿職務),並以東昌大捷告太廟。
局勢
盛庸軍勢大振,燕軍經此敗,以後再南下,皆由徐沛,不再走山東。
在靖難全局中,盛庸、平安等人通過山東境內的兩次勝利消耗了燕軍有生力量,有效遏制了燕軍南進之步伐,使得山東全境尤其是德州、濟南等戰略要地得以鞏固。使得局勢一時平衡,南北二方都無法取得壓倒性優勢。