建安五年(200年)一月,曹操討劉備于徐州,平之。建安五年二月,袁紹將顏良攻白馬城,曹操破斬之。再斬紹將文丑于延津,操于緒戰中全勝。曹操緒戰獲勝后,還軍官渡。袁紹進軍延津。建安五年八月,紹大軍進攻官渡,展開攻守戰。是年十月,曹操襲烏巢,遂大破紹軍。
至官渡作戰前之關中、涼州、漢中張魯等,皆已表面歸附于操,益州之劉璋,荊州之劉表,及江東之孫策,則各持中立以觀變。因此,曹操欲貫徹“挾天子以令諸侯”之大業,必須先擊滅袁紹,然后始能達成其目的。然以聲望遠勝于曹操之袁紹,地廣兵強亦皆優于操,自不甘為操下,必當舉兵擊滅之以求獨尊。于是,袁曹在此種兩雄不并立之形勢下,遂導致官渡一決雌雄之戰。
緒戰:漢獻帝建安五年(200年)正月,袁紹以進攻許都為目標自鄴城出兵南進,知操以東郡太守率步兵千人駐守白馬城。紹欲先行驅逐此一途上障礙,乃先遣大將顏良率其前鋒軍萬二千余攻白馬城。并遣屯騎司馬何民率屯騎一部,輕騎一部,沿黃河攻獲嘉,窺孟津等地。紹親率大軍至黎陽蕩陰(今HEN省湯陰縣)間。
時曹操軍于官渡,探知袁紹大軍將從黎陽津南渡,先遣顏良率萬余人渡河圍攻劉延于白馬。四月初,操欲北救劉延,軍師荀攸說操曰:“今兵少,不敵,必分其勢乃可。公到延津,若將渡兵向其后者,紹必而應之。然后輕兵東應白馬,掩其不備,顏良可擒也。”操從之,引兵向延津。紹聞操軍到延津將渡兵而北以襲其后,乃急遣騎前鋒文丑趨延津,紹親率大軍推進朝歌(今HEN省淇縣),圖予曹軍以迎頭痛擊。但當文丑兵趕至延津時,曹操已轉兵兼行,疾趨白馬,而襲顏良軍之后背。顏良此時正督兵繼續攻白馬城,不意操軍卒至,距白馬僅十余里,良大驚,倉卒迎戰。操乃使先鋒偏將軍漢壽亭侯關羽,裨將軍張遼率數百騎疾攻良軍。關羽望見顏良麾蓋,策馬突入良軍中,斬顏良而還,良軍莫能當者,遂解白馬之圍。
曹操已解白馬之圍,乃徙其民,循河南岸向西南撤走。民眾隨軍移家,扶老攜幼,車馬行囊,絡繹于途,成為戰場上顯明目標。袁紹乃渡河追擊之,欲急自延津渡軍包圍截擊操軍之側背,乃令文丑與劉備急急渡河。文丑率越騎校尉王摩渡河后,向南急追,至酸棗(今河南延津縣治)北之南阪。操勒兵駐營南阪下,使偵卒登壘望之,報曰:“可五六百騎。”有頃復報曰:“騎稍多,步兵不可勝數。”操曰:“勿復報。”乃令騎解鞍放馬。是時自白馬南撤之輜重已就道,諸將以為敵騎多,不如保營,荀攸曰:“此所以餌敵,如何去之?”操目攸而笑,遂以輜重誘敵。文丑與劉備將五六千騎前后至,諸將曰:“可上馬。”操曰:“未。”有頃文丑騎至稍多,爭趨輜重,操乃令上馬。時操騎不滿六百,余皆步兵,操縱兵乘紹軍伍之亂,攻擊大破之,遂斬文丑。袁紹在緒戰中,損失兩員名將,軍中大震。曹軍追擊三十里,斬首數千級,得馬數千匹,盡收回所失輜重。遂選騎一千,使討寇校尉樂進率之,往獲嘉助于禁以擊袁軍之西路,操自率大軍,回守官渡。關羽乘操軍南撤時脫走歸劉備于紹軍。樂進率軍至獲嘉(今HEN省獲嘉縣),知于禁正與袁紹之別軍激戰中,乃縱騎夾擊破之,遂與于禁自延津西南沿河至汲縣,焚燒紹軍堡聚三十余屯,斬首、獲生各數千,收降紹將何茂、王摩等二十余人。然后于禁還守原武,樂進歸還官渡。
袁紹進駐延津南,七月,汝南黃巾劉辟龔都等都叛操而響應袁紹,紹乃遣劉備南下助之,以攻許都,襲曹操之后方根據地;并遣使拜陽安(今HEN省確山縣東北)都尉李通為征南大將軍,使叛曹,通斬紹使。劉備略汝潁之間,以兵逼隱強(今HEN省臨潁縣東),諸縣多舉眾應之,自許以南,吏民不安。曹操在官渡憂之。曹仁因建議曰:“南方以大軍方有目前急,其勢不能相救,劉備以強兵臨之,其背叛宜也。備新將紹兵,未能得其用。急擊之可破也。”操乃使仁將騎擊備,破走之,復收諸叛縣而還。劉備敗歸袁紹。曹仁于歸官渡途中,更擊破袁紹所遣之騎將韓荀于雞洛山(今HEN省密縣東南之徑山),斬韓荀。劉備還至紹軍后,陰謀離去,乃說紹南連劉表,紹遣備將本部兵復至汝南與龔都等合眾數千人。操再遣將軍蔡楊擊之,為備所殺。然備雖斬蔡楊,并未有若何作為,蓋其志在另謀發展也。
官渡決戰:袁紹已遣劉備,乃進其大軍至陽武(今HEN省陽武縣博浪亭),沮授說紹曰:“北兵雖眾,而勁果不及南;南軍谷少,而資儲不如北;南幸急戰,北利在緩師,宜徐持久,曠以日月。”紹不從。遂于八月連營而前,依沙堆為屯,東西數十里,以攻原武及官渡。操一面分營與相當以對抗之,一面急調屯于原武之于禁回守官渡。于禁在原武,擊紹別營于杜氏津(今獲嘉縣北修武縣東)破之,適奉操令還官渡,乃經溫縣渡河而南,出平畢奔中牟,至于官渡。
九月初一,日食。操利用兵家所忌之日,出擊紹軍,不利,復還堅壁以守之。于是紹大軍進臨官渡,起土山高櫓(露樓無覆者)以射操營,操營中皆蒙楯而行。紹以為官渡必破,令軍中各持三尺繩,操軍破當擒縛之。操亦于營中起土山,使于禁于土山上相對抗。操又制霹靂車擊紹露樓皆破。紹又為地道以襲操,操于營內為長塹以拒之,于是紹操兩軍相峙百余日不決。紹校尉張郃說紹曰:“公雖連勝,然勿與曹戰也,密遣輕騎鈔絕其南,則其兵自敗矣。”紹不從。時會操軍糧將盡,操欲退守許都,乃以書與許都留守荀彧議之。彧自許都復書曰:“紹率眾聚官渡,欲與公決勝敗,公以十分居一之眾,畫地而守之,扼其喉而不進已半年矣。今兵雖少,未若楚漢在滎陽、成皋間也。是時劉、項莫肯先退,先退者勢屈也。公以至弱當至強,若不能制,必為所乘,此天下之大機也。且紹能聚人而不能用,情見勢急,必將有變,此用奇之時,不可失也。”操得書,又與軍師荀攸,參軍賈詡等議之,詡曰:“公明勝紹,勇勝紹,用人勝紹,決機勝紹,有此四勝而半年不定者,但顧萬全故也。必決其機,則須臾可定也。”于是,操決計向紹軍反攻,夜引渠水自莨蕩澤以灌紹營,紹退后三十余里,因成莨蕩渠。徐晃部將史渙,于莨蕩渠作戰中俘得紹軍“倉儲吏”,交軍師荀攸問之,知紹軍有運糧車隊旦暮且至,運糧官韓猛,系一銳而輕敵之將。攸乃建議使人襲紹糧車。操問何人可使?攸舉徐晃史渙可任。晃與渙至故市(今HEN省封邱縣西北三十五里,)截擊紹運糧隊,擊破韓猛,燒其輜重而歸。紹軍亦因以乏食。時操軍糧將盡,輸卒疲于奔命,操見而撫之曰:“卻十五日為汝等破紹,不復勞汝等矣。”十月,袁紹遣車千乘運糧,使其左武衛營主將淳于瓊率步兵與屯騎兩校之兵萬余人,北迎運車。沮授又說紹曰:“今以淳于瓊等五將往接糧,雖較把穩,卻非萬全。可再遣步兵校尉蔣奇率其軍為表于外,以絕曹操之鈔。”紹不從。參謀許攸曰:“曹操兵少,而悉師拒我于此,其許下余守,勢必空弱。若分諸軍持之,而遣輕軍從他道星夜掩襲,許拔迎天子,以討操,操為擒矣。如其未潰,可令首尾奔命,破之必也。”紹又不能用。會許攸家中人犯法,紹之留守審配收系之,攸怒,遂奔降于操。操聞許攸來降,大喜過望,跣足以迎之,撫掌而笑曰:“子卿(攸字)遠來,吾事濟矣。”攸因說操曰:“袁氏軍盛,何以待之?今有幾日糧乎?”操曰:“尚可支一歲。”攸曰:“無是,更言之!”曰:“可支半歲。”攸曰:“足下不欲破袁氏耶?何言之不實也?”操曰:“向言戲之耳,其實可一月,為之奈何?”攸曰:“公孤軍獨守,外無救援,而糧已盡,此危急之日也。今袁氏輜重有萬余乘,在故市烏巢屯扎(時淳于瓊已接運至,宿營于此,距紹營四十里),無嚴備,今以輕兵襲之,不意而至,燒其積聚,不過三日,袁氏自敗也。”操大喜,乃即選精銳步騎五千人,皆用袁軍旗幟暗號,各把束薪銜枚、縛馬口,將親率往襲取之;左右疑而阻之,而荀攸、賈詡勸操行。于是,操留曹洪與荀攸守營,親率諸將士夜從間道出,所歷道,有問者,則語之曰:“袁公恐曹操鈔略后軍,遣兵以益備。”聞者信以為然,因一路無阻。既至烏巢澤旁之營地,圍其屯大放火。淳于瓊營中驚亂,操遂急攻之。會天明,瓊等望見操軍少,乃出陳門外,操急擊之,瓊退保營,操復逼攻之。時紹營于陽武,距烏巢四十里,夜見烏巢火起,校尉張郃進言曰:“烏巢有警,必曹親率精兵往襲烏巢。曹操親往,是志在必破瓊等,不急往救,大事去矣。”中軍監軍郭圖曰:“郃非計也,不知夫孫臏攻魏以救趙乎?故救烏巢,不如攻其官渡本營。”郃曰:“曹操親自出外遠襲,其營中雖空,卻必嚴備以待,倘若我軍攻之急切不拔,而瓊等已成擒,則吾屬盡為虜矣。”袁紹謂其長子譚曰:“就彼攻瓊等,我拔其官渡營,彼固無所歸矣。”因使張郃高覽各駕高櫓往攻官渡曹營,但僅遣輕騎司馬趙睿往救烏巢。操攻瓊營,趙睿救騎亦至。操左右或言:“賊騎稍近,請分兵拒之”!操怒曰:“賊到背后乃白。”于是士卒皆殊死戰。遂斬紹之步兵校尉睦元進,屯騎校尉韓莒,及莒子威璜,殺士卒千余人皆取鼻,牛馬割唇舌,生獲淳于瓊,盡燒其輜重。然后回戰趙睿斬之,乃回軍官渡。
張郃等兵至曹營前,天已破曉,急攻之,曹壘堅固不能拔。繼續圍攻之,將至午時而曹操已自烏巢還師。郃等欲退,督軍郭圖為掩飾其失計,乃譖郃等“郃快軍敗”之語。郃聞之大懼,乃焚其攻具,就操營乞降。曹洪疑之不敢受。荀攸謂洪曰:“郃必與許攸相同,上計不用,被迫來攻,退不見諒,途窮請降,君何疑焉。”會曹操返,迎郃而笑曰:“昔日子胥不早寤,自使身危,豈若微子去殷,韓信歸漢耶!”即拜郃為偏將軍。紹營中獲知烏巢軍糧盡為曹操燒毀,淳于瓊等皆死,而張郃高覽等鐵鎧萬領,悉已降曹。于是各驚失色,互相奔告,軍中士氣,為之所奪。正在紛擾中,曹操以其在烏巢所割之人鼻牛馬唇舌陣示紹軍,紹將士益惶懼。操遂乘勢攻紹營,紹軍已是未戰先亂,不能抵御。袁紹急率其長子袁譚,幅巾乘馬與所率八百騎棄軍北走。紹軍無主,因而大潰。曹操率軍悉力追殺,一日夜追至延津,盡虜紹軍十余萬,及珍寶財物、圖書、輜重,累值巨億,悉落入曹操之手。
點評:在官渡戰役中,戰術對戰略之影響極為重大。袁紹在戰術方面之連續錯誤助長曹操之成功;如拒沮授、張郃、許攸等好計。尤其在烏巢火起之時,袁紹猶欲在毫無準備之下,欲“就操破瓊,吾拔其營”,因而給曹操專力揮軍致死于淳于瓊。及瓊死,郃降,紹軍因之以潰。反觀曹操之用兵,則與紹大異。曹操之救白馬,先為聲西而擊東;其戰文丑,欲取而姑予。及在官渡重新取得主動之初,強大之敵人已展開在正面之上,只有尋求間隙,對敵行“出其不意,以攻其不備”。徐晃史渙之襲燒袁軍糧食千車,即“出其不意”,“擊其無備”。此及烏巢之戰,其確切情報自許攸口中得之,操所以深信不疑,蓋證實其判斷無誤也。然敵已有備,必須“強取”。在強取之前,尤須“詐渡數重敵卡”,冒險犯難,其成敗固難以預期之也。然曹操深知,此舉如勝,或可以挽回頹勢;不有此舉,則軍糧已盡,是守亦敗,退亦敗,未來命運將不堪設想;以是之故,與其坐以待斃,孰若冒險一行,此即曹操所以勇往直前,要從死中求生之作戰精神以出。而此種作戰精神,在官渡之戰,袁紹始終無之。此為官渡戰役所以勝敗之關鍵,亦即所謂“爭取主動為戰術上致勝之要著”(爭取主動,制敵機先)。