見到天上有白氣兩道,自東北指向西南。根據佔書,“執本者勝”,如今只利於南伐而不利於東征。天象既然如此顯示,那是不能違背的。朱棣指天劃地順口道來,就好像是真的得了天命,諸將士誰敢不信。
而朱棣此行,確收到了聲東擊西之效。駐守滄州的徐凱等早就諜知朱棣率軍東征去了。他們為加強防備,派軍士四出伐木,晝夜督工修築城垣,根本未料到燕軍會折道南下。燕軍越過直沽,避開官軍設防的青縣、長蘆、走磚垛兒、灶兒坡,直指滄州城下。燕軍二更起程,一晝夜行三百里竟不為官軍所覺。第二天黎明,燕軍行至鹽倉,與官軍的數百哨騎相遇,盡行斬殺。燕軍奄至城下。徐凱並不知曉,仍督軍士築城如故,及至發覺燕軍已兵臨城下才部署軍士倉皇應戰,許多士兵甚至來不及披甲執兵。張玉率壯士從東北攀薄登城,並派軍截斷官軍退路。經過一場激烈肉搏,滄州城很快便被攻克了,主帥都督徐凱、程暹,都指揮俞琪、趙滸、胡原 、李英、張傑等均被擒獲。官軍萬餘人被斬首。戰馬九千盡為燕軍所得。數千人做為俘虜。一場奪城之戰就這樣結束了。
朱棣下令遣散戰俘,日暮猶有三千人待遣,這些人竟在夜間全部被譚淵所坑殺。譚淵的暴行,遭到朱棣的訓斥。譚淵辯解說:“此皆各處精選壯士,今放回,明當復來殺。我盡力以獲之,復縱歸,以資敵,為害不已,故臣計不如坑之。”而朱棣僅數其不仁而已。
朱棣將直沽的船隻調往長蘆裝載,所得輜重、器械及降將順流而北運回北平,同時親自率師繼續南征。朱棣擔心駐守德州的官軍可能出來邀截,便揮師從長盧渡河,循河而南,經過景州,來到德州城下。朱棣派人到城下招盛庸來戰,盛庸堅守不出。燕軍大隊過後,朱棣自將數十騎殿後,城中官軍偵知,派出數百騎兵前來襲擊,朱棣回兵敗敵,生擒千戶蘇■,斬殺百餘人,其餘皆降。
十一月十二日,燕軍進駐臨清,兩天後移軍館陶,遣輕騎哨至大名,盡得官軍糧船,取糧焚舟。朱棣的目的在於切斷南北餉道,並誘其出戰。燕軍繼從館陶渡河,先後到冠縣、莘縣、東阿、東平、汶上,並派出遊騎到了濟寧。
燕軍從抓到的盛庸軍中的兩個運糧百戶口中得知,盛庸軍已離開德州進駐東昌,其先鋒孫霖帶兵五千在滑口紮營。滑口在山東平陰縣西南三十里,是南北大路上的一個軍事要地,從來為兵家所必爭。朱棣命都指揮朱榮、劉江、內官狗兒 率精騎三千餘,襲破其營,斬殺數千人,獲馬三千匹,生擒都指揮唐禮等四人,孫霖僅以身免。十二月二十五日,燕軍繼進東昌,與盛庸軍主力相遇。
盛庸與鐵鉉聞燕軍將至,殺羊宰牛宴犒將士,且誓師勵眾,簡閱精銳,背城而鎮,佈列火器,毒駑以待敵軍。數月前,官軍有濟南、德州之勝,目前,雖滑口小敗而士氣猶盛。燕軍此次南下,奪滄州、襲滑口,士氣也正值高漲,如此必有一番激戰。
朱棣甚為得意,他認為此次盛庸由濟南南下,是由於糧道被切斷從而缺餉所致,而所駐的東昌又素無積蓄,因而庸軍將決一死戰。破庸軍只能以計。庸欲速戰,燕則不戰,庸欲不戰,燕則擾之。他決定自領精騎繞出敵後,選擇弱點,從而擊之。若襲擊一旦得手,大軍便鼓譟前進,造成庸軍腹背受敵之勢,必可得勝。若襲擊不便下手,也要騷擾其營以駭其心。
而庸軍則想以逸待勞,控制形勢,持重而不欲戰。朱棣於是親率精騎衝擊庸軍之左翼,庸軍不為動,再繞出敵陣,衝擊其中軍。庸軍開陣故縱其入,迅即將其團團圍住。再說燕軍大隊人馬見主帥出陣,士氣風發,個個躍踴,都說見敵不殺更復何待!他們不等朱棣襲擊敵後便紛紛衝上敵陣。而庸軍中火器齊發,燕軍盡為所傷,不得不敗下陣來。這時平安又率軍趕到,與庸軍相合,麾兵大戰,燕王陷入重圍而不得出。朱能、周長率番騎奮擊東北角,盛庸等撤西南之兵前往抵禦,燕王之圍稍解,朱能衝入敵陣,奮力死戰掩護燕王突圍 。大將張玉不知朱棣已經突圍,撥馬衝入敵陣解救燕王,連連擊殺數十人,終於被創而歿。盛庸乘勢猛攻,擒斬萬餘人,燕軍大敗。
時天已大黑,張玉戰歿,主力敗北,朱棣竟然不知,猶力戰不已。待抓到兩個敵兵,才得知燕軍步軍已退。朱棣也倉皇退兵。
第二天,兩軍又戰,兵敗如山倒,燕軍再大敗。敗退的燕軍便向北撤去,散亂的軍伍輜重迤邐數十里之遙,煙塵滾滾,旌旗披靡。朱棣以百餘騎殿後,官軍步步緊逼。朱棣按轡搭弓,射其先鋒,且戰且退。及至高煦領華聚等來援,擊退官軍,朱棣方得逃脫 。燕軍西北上館陶,