建安五年(200年),袁紹聽說曹操殺了董國舅和董貴妃,又軟禁了漢獻帝,便抓住這個機會,讓書記官陳琳寫了一篇聲討曹操的檄文,指責曹操陷害忠良、軟禁天子、違法亂紀、驕橫殘暴,還嘲笑曹操身份卑賤,是“贅閹遺醜”,檄文部分內容是:
“父嵩,乞匄攜養,因贓假位,輿金輦璧,輸貨權門,竊盜鼎司,傾覆重器。操贅閹遺醜,本無懿德。僄狡鋒協,好亂樂禍。”
這篇檄文號召天下豪傑共同討伐曹操,檄文一經發出,袁紹便調動了十幾萬大軍向許都進發。
在大部隊出發前,袁紹軍營內部進行了激烈的討論。
謀士田豐認為已經失去前麵的時機,眼下不宜出兵,就勸阻袁紹說:“曹操已經打敗了劉備,許都就不再空虛了。而且曹操擅長用兵,變化無常,人數雖少,不可輕視。現在不如長期堅守。將軍憑藉山嶺黃河的堅固,擁有四個州的人馬,外麵聯合英雄豪傑,內部實行農耕用以備戰。然後挑選精銳部隊,分為奇兵,乘虛而入,襲擾河南。敵人援救右邊,我就攻其左邊;敵人援救左邊,我就攻其右邊,使敵人疲於奔命,人民不能安於本業,我們還沒有疲勞但對方已經困乏,用不了三年,安坐就可戰勝敵人。現在不用廟堂上穩操勝券的計策而想通過一次戰爭去決定成敗,萬一不能如願以償,後悔就來不及了。”
袁紹不聽。田豐極力勸阻,得罪了袁紹,袁紹認為他敗壞軍心,就將田豐關了起來。於是先發布檄文,大舉南下。
其實,從對待謀士的態度,我們就能大致推斷出曹操和袁紹二人最後的命運。曹操手下的謀士有荀彧、郭嘉等人,但袁紹手下的田豐能力不在他們之下,無奈的是,田豐選錯了人,如果跟隨曹操,大概又是另一番結果。官渡之戰敗亡後的袁紹,不但沒有反躬自省,反而惱羞成怒,殺了田豐。
曹操聽聞田豐不在軍中,喜道:“袁紹必敗。”後袁紹敗走,曹操歎道:“假使袁紹用田豐之計,勝敗尚未可知也。”可見曹操識人之深。
袁紹大軍出發前,也派人去遊說劉表、張繡等,希望他們能和自己統一戰線,但他的想法,豈是曹操未曾料到的?荊州地區的長沙太守張羨,以長沙、零陵、桂陽為根據地,在劉表準備答應袁紹請求而攻打曹操時,他先一步響應曹操,就這樣,劉表和張羨打了起來,雙方僵持,劉表也沒有精力再去打曹操了。
而張繡曾是曹操的手下敗將,在袁紹遊說他後,他不但沒有聽袁紹的,反而直接聽了謀臣賈詡的勸告,背叛劉表,歸附了曹操,曹操愛才心切,對張繡不計前嫌,接納了他,這樣,袁紹隻能單打獨鬥了。
此時的關中諸將們對待打得熱火朝天的袁紹和曹操,采取了觀望的態度,涼州(今甘肅東)州長韋端派參謀官楊皋前往許都觀戰,楊皋回來後,諸將們問楊皋雙方戰鬥如何,楊皋說:“袁紹寬容但卻少決斷,計謀層出不窮而不找到選擇,缺乏決斷就難以樹立威信,不能選擇就經常讓自己處於被動,目前看雖然實力更強,但最後必定會失敗,曹操雄才大略,見機行動,能被任用的人不少,且個個精兵強將,一定能成就大事。”
在聽了楊皋的評價後,將領們紛紛傾向於曹操,此時,曹操實行了一係列措施,讓關中重返朝廷,比如,他先派總督察官(知書侍禦史)衛覬代表朝廷鎮守和宣撫關中,衛覬根據關中難民返鄉很多以及各將領的勢力,向荀彧、曹操建議恢複食鹽專賣,獲得的錢財拿去買牛買犁,為難民提供生產的工具,讓這些難民安心勞作,恢複生產,並派司隸校尉鍾繇鎮守關中,維持社會秩序,這些意見曹操全部接納並執行。
而此時,袁紹一意孤行,他命大將軍顏良、文醜為先鋒,劉備殿後,自己則率主力部隊,浩浩****朝許都而來。
袁紹大軍壓境,也引起曹營中一陣騷亂,因為明眼人一看都知道雙方的實力差距,袁紹十萬大軍,而曹操隻有三四萬。
在將領方麵,曹操身邊有張遼、徐晃、夏侯惇、曹洪等;袁紹身邊有張郃、高覽、淳於瓊、韓猛、蔣奇等;在謀士方麵,曹操有荀彧、苟攸、賈詡、劉曄等;袁紹有田豐、沮授、逢紀、許攸、郭圖、審配等,皆是足智多謀之士;曹軍糧草很少,而袁紹糧草充足。
曹操的工程部總監孔融問荀彧:“袁紹地大兵強,田豐、許攸都是他的智囊,審配、逢紀也都忠於他,顏良、文醜更是兩大名將,我們有戰勝的可能嗎?”
荀彧說:“田豐剛而犯上,許攸貪而不治。審配專而無謀,逢紀果而自用。“荀彧這番話的意思是,袁紹手下雖然謀士眾多,但是能幫袁紹治國安邦的卻很少。曹操在聽取大家的意見和自己的考慮後,更增加了與袁紹決戰到底的信心,對地方也增加了一些了解,頓時士氣大振。
接下來,曹操為爭取戰略上的主動,作出如下部署:派臧霸率精兵自琅邪(今山東臨沂北)入青州,占領齊(今山東臨淄)、北海(今山東昌樂)、東安(今山東沂水縣)等地,牽製袁紹,鞏固右翼,防止袁軍從東麵襲擊許都;曹操率兵進據冀州黎陽(今河南浚縣東,黃河北岸),令於禁率步騎二千屯守黃河南岸的重要渡口延津(今河南延津北),協助扼守白馬(今河南滑縣東,黃河南岸)的東郡太守劉延,阻滯袁軍渡河和長驅南下,同時以主力在官渡(今河南中牟東北)一帶築壘固守,以阻擋袁紹從正麵進攻;派人鎮撫關中,拉攏涼州,以穩定翼側。
從以上部署看,曹操所采取的戰略方針,不是分兵把守黃河南岸,而是集中兵力,扼守要隘,重點設防,以逸待勞,後發製人。從當時情勢而言,這種部署是得當的。首先,袁紹兵多而曹操兵少,千裏黃河多處可渡,如分兵把守則防不勝防,不僅難以阻止袁軍南下,而且使自己本已處於劣勢的兵力更加分散。其次,官渡地處鴻溝上遊,瀕臨汴水。鴻溝運河西連虎牢、鞏、洛要隘,東下淮泗,為許都北、東之屏障,是袁紹奪取許都的要津和必爭之地。加上官渡靠近許都,後勤補給也較袁軍方便。
二月時,袁紹的主力部隊到達黎陽(今河南浚縣東北)前線,他派大將顏良出師白馬,以保主力渡河決戰,沮授說:“顏良雖然驍勇,但是性格孤僻,聽不進去別人的意見,雖可以打仗但不是統帥的材料。”袁紹不以為然。
隨後,袁紹進軍黎陽(今河南浚縣東北),派大將顏良進圍白馬,攻東郡太守劉延,以保障主力渡河南進。劉延告急請援。四月,曹操為解除側翼威脅,北救劉延。謀士荀攸建議,率軍先佯裝在延津(今河南汲縣東)渡河,做出襲擊袁軍後方的姿態,誘使袁紹分兵延津。然後,輕兵急進,奔襲白馬,攻其不備。曹操依行其計,袁紹果然分兵向西,挺進延津。曹操趁機引兵向白馬疾進,及距白馬十餘裏時,顏良為“一夫之勇”,不善統兵,震驚之餘,率兵倉促迎戰。曹操派將軍張遼、關羽率先進擊。經過一番交戰,關羽望見了顏良麾蓋(大將所乘戎車,設幢麾、張蓋),在張遼軍隊的掩護下,關羽策馬衝到顏良身邊,在萬眾之中刺死顏良,又拔出腰間佩刀斬其首級而歸。從始至終,袁軍諸將都不能擋住關羽。曹操揮動著自己手中所持“麾”,徐晃等人的後續部隊奉令衝殺。袁軍潰散,遂解白馬之圍。
白馬得勝後,曹操認為在白馬的前哨守不住,於是將其中的人和軍備向西運往延津。
在袁紹準備追擊曹時,沮授站出來勸阻:“勝敗乃兵家常事,目前來看,我們應該留在延津北岸,再分兵去襲擊官渡,一旦我們這一戰勝利了,我們再過河追擊曹操也為時不晚,如果我們一味地南下,隻要遇到什麽困難,就有可能再無退路。”
袁紹被憤怒衝昏了頭腦,哪裏聽得進去,隻管揮師南下,臨渡河時,沮授歎息說:“大將軍狂妄自大,下麵的人隻貪功,看來我隻能離去了。”於是,他稱病辭官,誰料袁紹不準,且經過此事,袁紹對他已經是懷恨在心了,將他手下的兵權奪走,將士兵交給了郭圖。
文醜是袁紹的一員大將,這次袁紹讓他打頭陣,自己和劉備殿後,曹操見袁軍要渡河,讓軍隊在南麵的山坡下紮寨,構建軍事陣地,讓騎兵解下馬鞍,將馬全部放開,又將一些兵器、糧草放到路上,然後隱蔽起來等待命令。曹操靜待戰機,直到袁紹的大隊人馬趕到,正在動手搶奪曹軍有意丟棄的那批輜重馬匹時,才下令發起突然襲擊。由於曹軍猶如“飛將軍從天而降”,袁軍驚惶失措,頓時大亂,大將文醜在混亂中被砍下馬來。
大將被斬,袁軍士卒像沒頭的蒼蠅,東撞西竄,潰不成軍,完全喪失了戰鬥力,又見無處可逃,隻好舉手投降。延津之戰後,曹軍再接再厲,一舉取得了官渡之戰的最終勝利。
最初,曹操喜愛關羽的為人,但觀察了他之後發現他的誌向並不在自己身上,好像不想久留,便讓張遼去探探口風,關羽和張遼在聊天時,關羽說:“曹公如此優待我,我本該追隨曹公,但我受劉備的知遇大恩,且發過誓,要與其同死,絕不能背棄,所以我終有一天會離開曹公,但在我離開之前,我一定會回報曹公。”
這一番話,張遼一字一句地告訴了曹操,曹操不但不怪罪關羽,還十分欽佩他的義氣,在這次的戰爭中,關羽擊斬了顏良,曹操知道關羽離去的日子到了,於是,他對關羽大加賞賜,誰知,關羽將曹操給自己的賞賜全部封存起來,留下一份辭別書,投奔本就在袁紹帳下的劉備。
曹操身邊的將士們告訴曹操要追殺,曹操隻說了幾個字:“人,各為其主,不要追了。”
袁軍初戰失利,但兵力、糧草、軍貨、財力仍然占據明顯的優勢。
後來,曹操回到官渡,沮授向袁紹說:“河北兵雖然人多勢眾但勇猛不如河南兵,河南的糧草、軍貨、財力都不如河北;河南利於速戰速決,河北利於緩慢戰鬥。所以,我們應讓兩軍緩慢相持,拖長戰事。”沮授建議以持久緩進的戰術來消耗曹軍,但袁紹又不聽從。於是,袁紹命令大軍向前推進,渡過黃河,緊靠沙灘安營,東西延綿數十裏,曹操大軍也向兩翼展開,構築陣地,雙方隔空相看。
此時,曹操派往官渡前線的士兵隻有一萬人,而且其中很多將士已經受傷,所以他決定不能拉長戰線,必須速戰速決,但是打了幾次後,根本無法取勝,便退回軍營中,而袁紹在營中堆土成山,建立起高地,然後朝著低處的曹營射箭,曹操的軍營完全暴露在袁軍的視野和射程內,曹軍的官兵們隻好用盾牌護住自己的頭部,才能勉強同行。曹操對工人下令製造出霹靂車(這種車能投擲出巨大的石頭),用來攻擊袁紹壘起來的高樓,袁紹又使用挖地道的方法,曹操則在營內挖掘橫溝阻擋,粉碎了袁軍的計策。雙方相持三個月,曹操外境困難,前方兵少糧缺,士卒疲乏,後方也不穩固,他幾乎失去堅守的信心,寫信給荀彧,商議要退守許都,荀彧回信說:“袁紹將主力集結於官渡,想要與公決勝負。公以至弱當至強,若不能製,必為所乘,這是決定天下大勢的關鍵所在。當年楚、漢在滎陽、成皋之間,劉邦、項羽沒有人肯先退一步,以為先退則勢屈。現在公以一當十,扼守要衝而使袁紹不能前進,已經半年了。情勢已然明朗,絕無回旋的餘地,不久就會發生重大的轉變。這正是出奇製勝的時機,千萬不可坐失。”於是曹操決心繼續堅守待機,同時加強防守,命負責後勤補給的典農中郎將任峻采取十路縱隊為一部,縮短運輸隊的前後距離。
幾天以後,荀彧又為曹操送來一些糧草,曹操對這些運送糧草的士兵說:“辛苦你們了,再堅持十五天,我為你們擊破袁紹,以後你們就不用這麽累來回奔波了。”將士們得到曹操的安撫更有勁兒了。
又過了一段時間,曹操部隊的糧草再度緊張起來,而袁紹第一批運送糧草的幾千輛輜重車已經抵達官渡,曹操很是著急,但是並沒有表現出來,他的謀士荀攸自是了解曹操的,他對曹操說:“袁紹輜重車隊已經到達,他們的押送將領是韓猛,此人勇猛卻輕敵,我們可以一舉拿下。”曹操順勢問應該派誰前往,荀攸說:“徐晃。”於是,曹操隨即命令偏將軍徐晃與史渙共同出擊袁紹車隊,果然大勝,袁紹糧草被燒,得知後氣得直跺腳。
一次,曹操又派使者回許都催促糧草,誰知中途被袁紹的士兵抓到,袁紹的謀士許攸拿到了使者身上曹操向荀彧催糧的信,於是向袁紹獻計說:“曹操兵少,而集中全力來抵抗我軍,許都由剩下的人守衛,防備一定空虛,如果此時派一支隊伍輕裝前進,連夜奔襲,可以攻陷許都。占領許都後,就奉迎天子以討伐曹操,必能捉住曹操。假如他未立刻潰散,也能使他首尾不能兼顧,疲於奔命,一定可將他擊敗。”袁紹不同意,說:“我一定要先捉住曹操。”
許攸很詫異,這樣好的計謀袁紹竟然不采納,此時,又遇到一件事,袁紹的親信審配從鄴城派人送信來,袁紹拆開一看,是許攸的侄子侵吞公款,現在他的一家子已經被收押在監,袁紹看後,發了一通火,還羞辱了一番許攸。
袁紹的第一批輜重車被曹操燒毀後,又有了第二批,這批有一萬多輛車,袁紹將這些糧食和所有的軍用物資都堆積在前線大營的北後方,距離四十公裏遠的烏巢(今河南延津東南),袁紹命大將淳於瓊率軍一萬餘人前往烏巢鎮守。
許攸在被袁紹羞辱以後,十分氣憤,想到自己曾與曹操交好,便索性半夜逃出軍營,投奔了曹操。
曹操聽說許攸來了,跣足出迎,高興地說:“子遠來了,大事可成!”再請許攸入座相談。許攸問到:“貴軍軍糧可以用多久?”曹操答曰:“尚可支持一年。”許攸再說:“哪有這麽多?說真的吧!”曹操再答:“還可以支持半年。”許攸說:“難道你不想打敗袁紹嗎?為何不說真話?”曹操說:“跟你開玩笑而已,其實軍糧隻剩此月的分量。”許攸獻計說:“今孟德孤軍獨守,既無援軍,也無糧草,此乃危急存亡。現在袁軍有糧草存於烏巢,雖然有士兵,但無防備,隻要派輕兵急襲烏巢,燒其糧草,不過三天,袁軍自己敗亡!”
曹操聽到許攸的指點後十分欣喜,立即派荀攸、曹洪等人守住大營,又讓夏侯惇、夏侯淵埋伏在大營左邊,曹仁、李典埋伏在大營右邊,自己則帶五千精兵,改換了袁紹的旗幟和號令,馬口叼著樹枝,用繩子綁住馬嘴,防止混亂中馬嘶鳴,再命張遼、許禇在前,徐晃、於禁殿後,每個士兵都帶著幹草柴火,趁著月黑風高的夜晚,抄小道去了袁營。
袁營看到來人打著自家旗號,並沒有生疑,讓曹兵順利通過,曹兵來到烏巢,已是四更,立即展開包圍,曹操讓隨行的士兵將幹草點燃,然後,擂響戰鼓,趁著夜風,衝向袁營,而袁營中的淳於瓊則與將領們喝得酩酊大醉,遇到突襲的曹軍,自然一片大亂。
袁紹這邊,當曹操奔襲烏巢之時,袁軍部將張郃主張救淳於瓊,他對袁紹說:“曹操親自出馬,必然得手,那麽事情就無可挽回了。”郭圖卻別出心裁地說:“不如乘此時發兵去進攻曹軍大營。”袁紹認為郭圖說得對,隻要攻拔曹營,曹操就無家可歸了。於是派高覽、張郃率領重兵攻擊曹營,而隻派輕騎救援烏巢。
袁紹增援的騎兵到達烏巢,曹操部下說:“敵人的騎兵逐漸靠近,請分兵抵抗。”曹操怒喝道:“敵人到了背後,再來報告!”曹軍士兵都拚死作戰,於是大破袁軍,斬領將眭元進、韓莒子、呂威璜、趙睿等首級,割下淳於瓊的鼻,殺士卒千餘人,將他們所有人的鼻割下,連同牛、馬的舌頭一同送往袁軍,袁軍將士大驚。此戰,曹軍還燒掉了袁軍全部存糧。
淳於瓊為曹將樂進所虜獲,被帶到曹操麵前。曹操問淳於瓊說:“你今天弄成這樣,是什麽緣故?”淳於瓊答:“勝負乃天所控製的,問我幹什麽?”曹操想要留下淳於瓊性命,許攸勸諫說:“以後他照鏡子(看到自己的鼻子被割了),不會忘記今天的(恥辱和仇恨)。”聽完,曹操同意殺淳於瓊。
袁紹這邊,高覽、張郃攻營不下,烏巢大敗的消息已經傳來了,二將無心戀戰,竟自向曹軍投降。
袁紹全軍大亂,一下子全垮了。慌忙之中,袁紹及長子袁譚各單騎逃遁,直奔黃河渡口,隨後又逃來一群騎兵,約有八百騎,渡河至黎陽北岸。這一仗袁紹損失七八萬人,武器、輜重、圖書、珍寶無數。
官渡之戰,經過一年多的對峙,至此以曹操的全麵勝利而告終。曹操以兩萬左右的兵力,出奇製勝,擊破袁軍十萬。這個戰例成為中國曆史上以弱勝強、以少勝多的典型戰例。曹操以其非凡的才智和勇氣,寫下了他軍事生涯最輝煌的一頁。建安七年(202年),袁紹因兵敗憂鬱而死,曹操乘機徹底擊滅了袁氏軍事集團,建安十二年(207年),曹操又征服烏桓,至此,戰亂多時的北方實現了統一。
官渡之戰增強了曹操的實力,為曹操擊潰袁紹,統一北方奠定了堅實的基礎。北方僅有曹操和袁紹勢力較大,擊潰了袁紹,北方就無人能和曹操抗衡。