因為屢諫而被嫌棄的沮授,這時又站出來勸阻說:「戰爭勝負變化莫測,不能不周密計劃。大軍應當留屯延津,另分兵進攻官渡。如能攻克,再迎大軍也不遲,否則就有全軍覆沒的危險。」
袁紹不從。沮授在大軍即將渡河的時候嘆息:「在上者驕傲,在下者貪功,悠悠黃河,我還能渡回來嗎!」
他推託身體有病,不願過河。袁紹非常氣惱,強迫沮授隨軍渡河,而把他所部軍隊割屬郭圖。袁紹渡河後,駐屯在延津南面。
他派出劉備、文丑挑戰,被曹軍打敗,大將文丑被斬。再戰,又折兩員戰將和許多人馬,袁軍中大為震恐。
曹軍退還官渡後,袁軍集結在陽武,沮授又對袁紹說:「北軍人多,但英勇善戰不如南軍;南軍糧少,物資儲備不如北軍。南軍利於速戰,北軍利於緩兵。所以我軍應打持久戰,拖延時日。」
袁紹仍然不從,他命令部隊逐漸逼近官渡,緊靠曹軍紮營,軍營東西綿延數十里。
九月,兩軍會戰,曹軍失利,躲進營壘中堅壁不出。袁紹修築壁樓,堆起土山,從高處發箭射擊曹營。
箭如雨下,曹營中的將士只得蒙著盾牌走路。但壁樓、土山不久就被曹軍的「霹靂車」轟毀了。
袁紹又暗鑿通往曹營的地道,曹軍則在營中挖掘長溝進行防禦。袁軍的運糧車還遭到曹軍的襲擊。
兩軍相持了一百多天,河南老百姓困苦不堪,很多人背叛曹軍,響應袁軍。
相持期間,袁紹先後派劉備、韓荀襲擊許都,但是皆被曹仁擊敗,因此不再分兵復出。
然而,這種有利於袁紹的形勢卻突然急轉直下。
這時,袁紹派淳于瓊帶領萬餘人北迎運糧車,沮授特意提醒說:「可增派蔣奇領一支人馬在淳于瓊外側,以防止曹操偷襲。」
而謀士許攸則提出乘曹操傾軍而出,輕騎奔襲許都的建議。
然而,袁紹因之前韓荀和劉備襲擊許都失敗,不想再分兵冒險。
事有湊巧,在鄴城的許攸家族中有人犯法,被留守的審配抓進監獄,許攸大為不滿,於是投奔曹操。在許攸的謀劃下,曹操親自領兵赴烏巢,襲擊淳于瓊。
當曹操奔襲烏巢之時,袁軍部將張郃主張救淳于瓊,他對袁紹說:「曹操親自出馬,必然得手,那麼事情就無可挽回了。」
郭圖卻別出心裁地說:「不如乘此時發兵去進攻曹軍大營。」
袁紹認為郭圖說得對,只要攻拔曹營,曹操就無家可歸了。
於是派高覽、張郃率領重兵攻擊曹營,而只派輕騎救援烏巢。
高覽、張郃攻營不下,烏巢大敗的訊息已經傳來了,二將無心戀戰,竟自向曹軍投降。
插一句,這裡其實是郭圖作祟,害怕袁紹怪罪於自己。