後來,袁紹吞並韓馥,剿滅公孫瓚,占據冀、青、幽、並四州,勢力如日中天,成為當時最大的軍閥割據勢力。當時他擁兵數十萬,文有謀士沮授、田豐、荀諶、許攸、審配、逢紀、郭圖等,武有大將顏良、文醜、張郃、高覽、呂曠、呂翔等。文武齊備,兵多將廣,地盤遼闊,糧草充足。這麼大的勢力,想要稱霸中原還不是很簡單的事嗎?但他為什麼會敗給曹操呢?歸結起來,這與他本身的性格有很大關係。
那時候,袁紹已經是大將軍,太尉,封鄴侯,掌管全國最高的軍事指揮權。一時之間,無人能敵。連續取得了一連串的勝利,使得袁紹衝昏了頭腦,他開始把誰都不放在眼裏,甚至自己多年的好友曹操。於是,他在一個錯誤的時間裏發動了一場錯誤的戰爭。就是這樣一場錯誤的戰爭,徹底改變了他以後的命運。這就是三國裏的三大戰役之一——官渡之戰。官渡之戰,是袁紹一生的轉折點。經此一戰,袁紹拱手讓出了北方霸權。這位曾經橫掃河北,鷹揚河朔的大軍閥就此消失在了中國曆史舞台上。如果袁紹不驕傲自滿,能夠虛心一點,也許三國的曆史就會改寫,以他當時的實力,想要打下三分的天下可以說也是輕而易舉的事。
曹操取得主動權關鍵的一項政策是“挾天子以令諸侯”,這是人盡皆知的。其實,這個機會曾經首先降臨到袁紹頭上,當時天子被逼得四處流浪,袁紹的謀士就曾獻計勸他奉迎天子建都鄴城,這是個很好的機遇,也是個很有遠見的建議。可是,袁紹卻以獻帝之立不合己意為由拒絕了這個建議!後來,曹操迎接天子建都許昌,袁紹很是後悔。但自古以來,世上就沒有賣後悔藥的,袁紹再後悔也起不了什麼作用。俗話說:失一事,長一智。但袁紹喪失了一次機會還是沒有長進,以後又連續失了幾次機會。
公元199年7月,袁紹決心趁著擊潰公孫瓚的餘威,一舉消滅曹操,動員了精兵十萬,騎兵數萬,貿然向許昌進兵。當時,袁紹兵多將廣,又占據了黃河以北的幽、冀、青、並等州郡,處於進可攻,退可守的有利地位。曹操則占領了黃河以南的袞、豫、徐等州郡,並把漢獻帝接到許昌“挾天子而令諸侯”。但曹操隻有數萬兵馬,所處的地理位置又易攻難守,且後方很不鞏固,荊州的劉表、江東的孫策、南陽的張繡仍與曹操為敵。所以,從總體作戰形勢上來看,是有利於袁紹而不利於曹操。但是,兵精糧足、實力強大、不可一世的袁紹集團為什麼會敗在兵力不足、軍中缺糧的曹操集團的手下?
在當時的情況下,雖然形勢對曹操不利,但他還是調精兵2萬,於公元199年8月進軍黎陽,主動迎敵。
令人意想不到的是,公元199年12月,正當曹操部署對袁紹作戰時,原來依附曹操的劉備,殺徐州刺史車胄,自據徐、邳等,起兵反曹,與袁紹遙相呼應。當時,東海郡及附近的郡、縣大多歸附劉備,軍隊增至好幾萬人,聲勢頗為浩大,曹操遇此意外,意欲親征迅速打敗劉備,以防兩麵受敵。
可是,曹操帳下的將領對此卻感到不解。他們對曹操說:“與您爭天下的主要是袁紹。如今袁紹正率兵打過來,您卻要放棄袁紹不打,而去東征劉備。萬一袁紹從背後乘虛而入,那可怎麼辦?”