袁紹的成功來得突然,失敗來得也很快,序幕在他傾四州之兵馬南下攻伐曹操時就拉開了。
官渡之戰伊始,即建安五年元月,劉備殺了徐州刺史車胄,決定和袁紹聯合起來,對抗曹操。曹操知道劉備絕非等閑之輩,如果不趁他羽翼未豐之時除掉他,任由他坐大會對自己構成極大的威脅,於是決定先領兵攻打劉備。此時,袁紹手下的謀士田豐對他說:“曹操東擊劉備,一時半會兒不會罷兵,明公如能舉兵偷襲他的後方,令其首尾不能相顧,定可以大破曹軍。”但袁紹卻推說孩子有病,不能離開。田豐氣衝衝地退了出來,邊走邊說:“庸主啊!千載難逢的時機,就這樣浪費了,可惜啊,可惜啊。”袁紹聽說以後,惱羞成怒,從此疏遠了田豐。
待曹操打敗劉備還軍官渡後,袁紹才倉促決定出兵,田豐認為戰機已失,不可貿然出兵,再次進諫說:“曹操既然打敗了劉備,現在許都必有重兵把守,已不再是空虛的了。而且曹操善於用兵,變化無常,常能以少勝多,不能等閑視之,需要從長計議。”袁紹不僅不聽田豐的勸告,反而以擾亂軍心的罪名,將田豐拘押起來。
九月,兩軍會戰,曹軍失利,於是深溝高壘,堅守不戰。袁紹修築壁樓,堆起土山,從高處向曹營發箭,一時箭如雨下,曹營招架不住,將士們隻得舉著盾牌走路,但壁樓、土山不久就被曹軍的“霹靂車”轟毀了。一計不成,又施一計,袁紹又暗鑿地道通往曹營,不料,曹軍早有準備,在營中挖掘長溝進行防禦。曹軍雖然處於守勢,但還是派兵襲擾了袁軍的運糧車。
兩軍就這樣處於膠著狀態,持續了一百多天,河南老百姓苦不堪言,很多人背叛曹軍,投靠了袁軍。然而,這種有利於袁紹的態勢出人意料地急轉直下。這時,袁紹派淳於瓊帶領萬餘人北迎運糧車,糧草關係全軍安危,謀士沮授特別提醒說:“可派蔣奇領一支人馬伏於淳於瓊之側,以防止曹操偷襲。”而謀士許攸則提出偷襲許都的建議,因為此時許攸意識到曹軍傾巢而出,許都定然守備不足,此時若能派輕騎奔襲許都,能既快又省地結束戰鬥,而且許攸還料到此時的曹軍糧草已然不足,若能攻下許都,則斷了曹軍糧草的來源,到時曹軍自會不戰而降。