建安五年十月,曹操在官渡和袁紹軍相持了二個月之後,終於等到了一次難得的戰機。時袁紹從黃河以北運來糧草輜重等物萬餘車,屯於烏巢,使大將淳於瓊率兵萬餘人看守。正在這時,袁紹謀士許攸投奔曹操,將烏巢屯糧的情況告訴曹操,並建議曹操出奇兵偷襲烏巢。
曹操聞聽大喜,留大將曹洪、謀士荀攸守營,親自率步騎五千人打著袁軍旗號,乘夜奔襲烏巢。半夜時分,曹軍趕至烏巢,四下點火,圍攻袁軍大營,淳於瓊出戰不利,退守糧屯,等待援軍。
烏巢離袁如大營僅四十裏,但袁紹得知曹操親自率兵偷襲巢,認為這正是攻破曹操大營的好機會,派大將張郃、高覽等進攻官渡曹軍大營,隻派少數輕騎往救與巢。
曹軍在烏巢營寨未下,卻得知袁紹救兵將至,曹軍上下無不震驚。偏這時,左右武將又急是請求分兵抵抗,曹操聞言乃是大怒,直言道:“待敵軍到背後,方可回軍!”言罷,遂下馬親自督軍猛攻。
既是曹操親自督戰,曹軍將士自是奮死拚殺,不多時,便大破淳於瓊軍。而後,曹操方才命令全力迎擊袁軍援兵,亦是取得大勝。
此一役,曹軍陣斬袁紹烏巢大將淳於瓊,燒其糧草輜重萬餘輛。烏巢一仗,儼然便決定了官渡之戰的勝負。至此,袁紹敗局已定。
再說袁紹攻曹操官渡大營未下,烏巢敗訊已經傳來。袁軍將領張命、高覽等見大勢已去,投降曹操,袁軍頓時全線崩潰。曹操乘勢出擊,大敗袁軍,消滅袁軍七、八萬人,繳獲大批珍寶、圖書、輜重等物,袁紹與其子袁譚率八百餘騎過黃河。
如此,官渡之戰遂以曹操的勝利而告結束。大勝之下,眾皆勸操急攻河北。曹操力排眾議,言道:“冀州糧食極廣,審配又有機謀,未可急拔。現今禾稼在田,恐廢民業,姑待秋成後取之未晚。”
正議間,忽荀彧有書到,報說:“關羽斬上將軍蔡陽,已攻取汝南。其在汝南得劉辟、龔都,現兵馬已有數萬之眾。聞丞相提軍出征河北,乃令劉辟守汝南,劉備引關羽、張飛、趙雲等大將,親自乘虛來攻許昌。丞相可速回軍禦之。”
曹操看畢,乃是大驚不已,言道:“劉備乃亂世梟雄,非是袁紹可比,若是任其發展,他日必成我之大敵,必要將其扼殺於萌芽!此地不宜久留,當速回許都!”遂留曹洪屯兵河上,虛張聲勢,詐作乘勢要北上河北。曹操自提大兵直回許都。
大軍即刻而發,星夜兼程,不幾日便回到許都。時荀彧回稟道:“劉備已占領豫州大部,今時主力乃位於穎水一帶,意欲圖謀許昌。彧恐丞相回來不及,便早先傳信於丞相。”
曹操聞言未有不喜,反倒急是讚道:“未雨綢繆,文若做得極對。操謝過了!”原來卻是劉備並未有行軍動向,荀彧卻是發了一個假消息給曹操。
曹操心知肚明,若是此時本方大軍仍滯留在河北,劉備突襲許昌不過遲早之事而已。後院大火不滅,前路難行。曹操當下下令決心,便要親自引兵往穎水去迎劉備。
卻說關羽奪了汝南,劉備大喜,乃旋即與張飛、趙雲等率軍從古城出發,進駐汝南,隻留蕭雷鎮守古城。又聞曹操在官渡鏖戰,尋思引兵欲襲許都,便召集眾人商議。眾人皆是覺得機會難得,遂一致讚同。劉備至此方才下定決心,竟是親引關、張、趙等人,率兵五萬,度過穎水,直撲蔡城而去。
等消息傳到古城蕭雷處之時,劉備早已拿下蔡城,要攻潁川去了。蕭雷尋思曹操雖是北麵鏖戰之中,許昌之地卻也少不得仍留有重兵把守,劉備此去,必是凶多吉少,便欲親自引軍前往接應。又想起曹操恩德,自己也曾言不可與曹操對決,便強忍住不去,隻令小兵快馬送自己書信給劉備,希望其能聽自己一勸,勒兵回汝南。
且說劉備不知官渡之戰已是告一段落,隻以為曹操仍在那處,直引軍急速往攻潁川。這日行近穰山地麵,卻忽遇曹兵殺來,乃是大驚。劉備眼明,當先便看見曹軍中立有丞相旗號,心知不妙,乃急令全軍速退。
劉備要走,後麵曹操看見,豈能不追?如此,從潁川至穎水,一路上,劉備軍馬不斷被蠶食,損失慘重。回到穎水界麵,劉備遂於穎水一高山處下寨,軍分三隊,關羽屯兵於東南角上,張飛屯兵於西南角上,自己與趙雲則於正南立寨。