洪武二十五年(1392年)太子朱標病死,朱元璋立太子的次子朱允炆(長子早亡)為皇太孫。洪武三十壹年,朱元璋去世,朱允炆即帝位,是為建文帝。朱允炆在做皇太孫時,就對諸藩王不滿,曾與他的伴讀黃子澄商量削藩對策。即帝位後,采納了大臣齊泰、黃子澄的建議,決定先削幾個力量較弱的親王的爵位,然後再向力量最大的燕王朱棣開刀,並令諸親王不得節制文武將吏。皇族內部矛盾由此迅速激化。建文帝命令將臣監視朱棣,並乘機逮捕之。朱棣得到這壹消息,立即誘殺了前來執行監視逮捕任務的將臣,於建文元年(1399年)七月起兵反抗朝廷。
朱元璋當國時,恐權臣篡權,規定藩王有移文中央索取奸臣和舉兵清君側的權利,他在《皇明祖訓》中說:“朝無正臣,內有奸逆,必舉兵誅討,以清君側。”朱棣以此為理由,指齊泰、黃子澄為奸臣,須加誅討,並稱自己的舉動為“靖難”,即靖禍難之意。因此,歷史上稱這場朱明皇室內部的爭奪戰爭為“靖難之役”。
朱棣初起兵時,燕軍只據北平壹隅之地,勢小力弱,朝廷則在各方面都占壓倒性優勢。所以戰爭初期,朝廷擬以優勢兵力,分進合擊,將燕軍圍殲於北平。朱棣采取內線作戰,迅速即攻取了北平以北的居庸關、懷來、密雲和以東的薊州、遵化、永 平(今河北盧龍)等州縣,掃平了北平的外圍,排除了後顧之憂,便於從容對付朝廷的問罪之師。經過朱元璋大肆殺戮功臣宿將之後,朝廷也無將可用,朱允炆只好起用年近古稀的 幸存老將長興侯耿炳文為大將軍,率軍13萬伐燕。建文元年八月(真定之戰),師至河北滹沱河地區。燕王在中秋夜乘南軍不備,突破雄縣,盡克南軍的先頭部隊。繼而又於滹沱河北岸大敗南軍的主力部隊。建文帝聽到耿炳文軍敗,根據黃子澄的推薦,任曹國公李文忠之子李景隆為大將軍,代替耿炳文對燕軍作戰。
李景隆本是絝絝子弟,素不知兵,“寡謀而驕,色厲而餒”。九月,李景隆至德州,收集耿炳文的潰散兵將,並調各路軍馬,***計50萬,進抵河澗駐紮。當朱棣偵知李景隆軍中的部署後,笑著說,兵法有五敗,李氏全犯了,其兵必敗無疑,這就是政令不修,上下離心;兵將不適北平霜雪氣候,糧草不足;不計險易,深入趨利;求勝心切,剛愎自用,但智信不足,仁勇俱無;所部盡是烏合之眾,且不團結。為了引誘南軍深入,朱棣決計姚廣孝協助世子朱高熾留守北平,自己親率大軍去援救被遼東軍進攻的永平,並告誡朱高熾說:“李景隆來,只宜堅守,不能出戰。”朱棣還撤去了盧溝橋的守兵。
朱棣這壹招果然靈驗,李景隆聽說朱棣率軍赴援永平,就率師於十月直趨北平城下。經過蘆溝橋時見無守兵,禁不住歡喜,說:“不守此橋,我看朱棣是無能為力了。”這時朱高熾在北平城內嚴密部署,拼死守衛。李景隆則號令不嚴,指揮失當,幾次攻城,皆被擊退。南軍都督瞿能曾率千余精騎,殺人張掖門,但後援不至,只好停止進攻。又因李景隆貪功,要瞿能等待大部隊壹起進攻,錯過了時機。燕軍則因此得到喘息,連夜往城 墻上潑水,天冷結冰,待到次日,南軍也無法攀城進攻了。朱棣解救永平之後,率師直趨大寧(今內蒙古寧城西)。
大寧為寧王朱權的封藩,所屬朵顏諸衛,多為蒙古騎兵,驍勇善戰。朱棣攻破大寧 後,挾持寧王回北平,合並了寧王的部屬及朵顏三衛的軍隊。朱棣帶著這些精兵強將於十壹月回師至北平郊外,進逼李景隆軍營。燕軍內外夾攻,南軍不敵,李景隆乘夜率先逃跑,退至德州。次日,士兵聽說主帥已逃,“乃棄兵糧,晨夜南奔”。
建文帝為大臣所蒙蔽,反而獎勵打了敗仗的李景隆。建文二年(1400年)四月,李景隆會同郭英、吳傑等集合兵將60萬眾,號稱百萬,進抵白溝河(今河北雄縣北)。朱棣命令張玉、朱能、陳亨、丘福等率軍十余萬迎戰於白溝河。戰鬥打得十分激烈,燕軍壹度受挫。但南軍政令不壹,不能乘機擴大戰果。燕軍利用有利時機,力挫南軍主將,南軍兵敗如山倒。李景隆再次退走德州。燕軍跟蹤追至德州。五月,李景隆又從德州逃到濟南。朱棣率燕軍尾追不舍,於濟南打敗李景隆率領的立足未穩的十余萬眾。濟南在都督盛庸和山東布政使鐵鉉的死守下得以保住。朱棣圍攻濟南三月未下,恐糧道被斷,遂回撤北平,盛庸收復德州。
李景隆在幾個月的時間內壹敗再敗,建文帝撤免了他的大將軍職務,建文帝采黃子澄之謀,遣使議和以求緩攻,又任命盛庸為平燕將軍,代李景隆統兵代之以盛庸。盛庸屯兵德州,以遏燕軍南下。建文二年九月,盛庸率兵北伐,十月,至滄州,為燕軍所敗。十二月,燕軍進至山東臨清、館陶、大名、汶上、濟寧壹帶。盛庸率南軍於東昌(今山東聊城),嚴陣以待。
燕軍屢勝輕敵,被南軍大敗,朱棣親信將領張玉死於戰陣,朱棣自己也被包圍,借朱能援軍的接應才得以突圍。東昌戰役是雙方交戰以來,南軍取得的第壹次大勝利。兵敗後,朱棣總結說:東昌之役,接戰即退,前功盡棄,今後不能輕敵,不能退卻,要奮不顧身,不懼生死,打敗敵手。
建文三年(1401年)二月,朱棣率軍出擊,先後於滹沱河、夾河、真定等地打敗南 軍。接著,又攻下了順德、廣平、大名等地。戰爭已經進行了兩年的時間,南北交戰主要在河北、山東。燕軍雖屢戰屢勝,但南軍兵多勢盛,攻不勝攻,燕軍所克城邑旋得旋失,不能鞏固。能始終據守者,不過北平、保定、永平三府而已。正在朱棣為此而苦惱之際,南京宮廷裏不滿建文帝的太監送來了南京城空虛宜直取的情報。朱棣手下謀士也勸朱棣勿攻城邑,越過山東,以迅速行動直趨金陵,金陵勢弱無備,必可成功。於是朱棣決定躍過山東,直搗金陵。朱棣據此決定舉兵南下,直指京城。
建文四年(1402年)正月,燕軍進入山東,繞過守衛嚴密的濟南,破東阿、汶上、鄒縣,直至沛縣、徐州,向南直進。而燕軍已過徐州,山東之軍才南下追截。四月,燕軍進抵宿州,與跟蹤襲擊的南軍大戰於齊眉山(今安徽靈璧縣境),燕軍大敗。雙方相持於淝河。在這次決戰的關鍵時刻,建文帝受壹些臣僚建議的影響,把徐輝祖所率領的軍隊調回南京,削弱了前線的軍事力量,南軍糧運又為燕軍所阻截,燕軍抓住時機,大敗南軍於靈璧,僅俘獲南軍將領即幾百人。自此,燕軍士氣大振,南軍益弱。朱棣率軍突破淮河防線,渡過淮水,攻下揚州、高郵、通州(今江蘇南通)、泰州等要地,準備強渡長江。這時,朱棣之子朱高煦引番騎趕到,燕軍軍勢大振。
建文帝曾想以割地分南北朝為條件同燕王議和,被拒絕。六月初三,燕軍自瓜洲渡江,鎮江守將降城,朱棣率軍直趨金陵。十三日進抵金陵金川門,守衛金川門的李景隆和谷王為朱棣開門迎降。燕王進入京城,文武百官紛紛跪迎道旁,在群臣的擁戴下即皇帝位,是為明成祖,年號永樂。歷時四年的“靖難之役”以燕王朱棣的勝利而告終。
“靖難之役”歷時三年,前期作戰南軍連連敗藉。但自濟南保衛戰後,南軍主力屯駐德州,相機出擊,以遏燕軍。德州處在運河線上,南北交通便利,燕軍自河北南下,始終處在德州的監控之下。燕軍南攻時,南軍或自德州橫出斷其歸路,或襲擾其補給線,或乘虛北攻。所以,雖以朱棣之善用兵,南軍再未出現過戰爭初期的那種大的挫敗,燕軍勢力基本上被阻在山東以北。朱棣未克山東,故雖屢戰屢勝,激戰兩年半,卻始終未能打開局面。等到他越過山東,直趨金陵,半年時間便奪取了政權。
以上都是很詳實的史實!