二月,袁绍发布讨伐曹操檄文,指控曹操“豺狼野心,潜包祸谋,乃欲挠折栋梁,孤弱汉室,除忠害良,专为枭雄”。他派颜良包围白马,自己率领大军抵黎阳。四月,曹操声东击西,北救白马之围,斩杀颜良,迁徙民众撤向官渡。袁绍依仗自己人多势众,准备挥师渡河,追赶曹军。因为屡谏而被嫌弃的沮授,这时又站出来劝阻说:“战争胜负变化莫测,不能不周密计划。大军应当留屯延津,另分兵进攻官渡。如能攻克,再迎大军也不迟,否则就有全军覆没的危险。”袁绍不从。沮授在大军即将渡河的时候叹息:“在上者骄傲,在下者贪功,悠悠黄河,我还能渡回来吗!”他推托身体有病,不愿过河。袁绍非常气恼,强迫沮授随军渡河,而把他所部军队割属郭图。
袁绍渡河后,驻屯在延津南面。他派出刘备、文丑挑战,被曹军打败,大将文丑被斩。再战,又折两员战将和许多人马,袁军中大为震恐。曹军退还官渡后,袁军集结在阳武,沮授忍无可忍,又对袁绍说:“北军人多,但英勇善战不如南军;南军粮少,物资储备不如北军。南军利于速战,北军利于缓兵。所以我军应打持久战,拖延时日。”袁绍仍然不从,他命令部队逐渐逼近官渡,紧靠曹军扎营,军营东西绵延数十里。
九月,两军会战,曹军失利,躲进营垒中坚壁不出。袁绍修筑壁楼,堆起土山,从高处发箭射击曹营。箭如雨下,曹营中的将士只得蒙着盾牌走路。但壁楼、土山不久就被曹军的“霹雳车”轰毁了。袁绍又暗凿通往曹营的地道,曹军则在营中挖掘长沟进行防御。袁军的运粮车还遭到曹军的袭击。
两军相持了一百多天,河南老百姓困苦不堪,很多人背叛曹军,响应袁军。然而,这种有利于袁绍的形势却突然急转直下。这时,袁绍派淳于琼带领万余人北迎运粮车,沮授特意提醒说:“可增派蒋奇领一支人马在淳于琼外侧,以防止曹操偷袭。”而谋士许攸则提出乘曹操倾军而出,轻骑奔袭许都的建议。然而,刚愎自用的袁绍竟听不进分毫,无所动作。事有凑巧,在邺城的许攸家族中有人犯法,被留守的审配抓进监狱,许攸大为不满,于是投奔曹操。在许攸的谋划下,曹操亲自领兵赴乌巢,袭击淳于琼。当曹操奔袭乌巢之时,袁军部将张郃主张救淳于琼,他对袁绍说:“曹操亲自出马,必然得手,那么事情就无可挽回了。”郭图却别出心裁地说:“不如现在发兵去进攻曹军大营。”袁绍认为郭图说得对,只要攻拔曹营,曹操就无家可归了。于是派高览、张郃率领重兵攻击曹营,而只派一支轻骑救援乌巢。