许攸则建议袁绍说:"主公现在没必要与曹操在一点上相互攻击。应该马上分军,其中一支军队取道他途,进攻许县迎接天子。那样大事就可以成功了。"许攸的策略其实是全面进攻战略,在将曹操主力牵制在官渡的同时,出奇兵偷袭许县,将皇帝抢到手。袁绍不同意,坚持要在官渡和老同学玩老鹰抓小鸡的游戏,"吾要当先围取之"。
田丰也对袁绍说:"曹公善用兵,变化无方,军队虽少,但也不能轻视。"田丰同意沮授的持久战战略,认为袁绍应该"据山河之固,拥四州之众,外结英雄,内修农战"。同时,田丰综合了许攸的观点,认为应该分头进攻,对曹操展开全面攻击,"然后简其精锐,分为奇兵,乘虚迭出,以扰河南,救右则击其左,救左则击其右,使敌疲于奔命,民不得安业"。这样不到两年,北方就能取得对河南的胜利。田丰的观点不失为明智的战略选择,但是袁绍还是听不进去。田丰一再恳切劝谏,袁绍生气了,认为田丰不仅公然违背自己的决定,而且打击斗志,将田丰关押了起来。
在袁绍阵营中的刘备见到这副情景,不禁对袁军的前途失去了信心。他借口要去汝南联合农民军,开辟第二战场,取得了袁绍的同意之后,便带着自己的部队脱离了袁军,又一次自立门户去了。汝南地区的黄巾贼刘辟等人响应刘备,和刘备合军,计划攻略许县。曹操再次乘刘备立足未稳,派曹仁率军进攻。刘备只得抹抹屁股走了,投靠刘表去了。倒霉的刘辟做了替死鬼。
事实上,袁绍多少接受了谋士们的建议,多次派遣精锐轻骑,包抄、切断官渡战线背后的曹军粮道。《任峻传》载在官渡之战中:"太祖使峻典军器粮运。贼数寇抄绝粮道,乃使千乘为一部,十道方行,为复陈以营卫之,贼不敢近。"可见,袁绍派出了小股部队多次偷袭曹军的粮道,影响了曹军的正常粮草运输。遗憾的是,袁绍此举仅仅是"抄粮术"的运用而已,而没有增派兵力,增加密度,扩大战果。负责后勤的任峻被弄得灰头土脸的,最后采取集中运输和武装护送的办法,才限制了袁军偷袭部队的骚扰,保证了官渡前线的粮草运输。当然了,曹操也多次派遣轻骑偷袭袁绍的粮道。于禁、乐进等人多次率军骚扰袁军敌后。曹操的成果比袁绍取得的要大得多。史载曹操"遣奇兵袭击绍运车,大破之,尽焚其谷"。
偷袭粮道失败后,袁绍只能将希望都寄托在官渡,计划通过强攻取得胜利。袁绍先造起高橹,堆起土山,居高临下向曹营射箭。曹军只能举着盾牌在营中行进,士气低落。后来曹操造了发石车,从下向上攻击袁绍的高橹,才取得胜利。袁绍又造起霹雳车向曹营发射火箭、火球,曹操于是用发石车还击巨石。袁绍又造了地道,想从地下偷袭曹军。曹操就在营地里挖起了长堑,断绝敌人的地道。
曹操底子太薄,河南地区原本几乎就是一片赤地。经过几个月的相持战后,河南百姓疲乏不已,开始出现叛乱响应袁绍;同时,曹军还出现了严重的粮草缺乏。袁绍尽管一再被曹军偷袭粮草,但依然可以获得源源不断的供给。这天,淳于琼等人率领一万多人护送上万辆运粮车来到前线。沮授建议袁绍加派军队护卫粮道,避免曹操的偷袭。袁绍对沮授的建议置之不理。淳于琼等人将粮草囤积在乌巢,距离袁军大本营四十里。
这时候发生的一件事情给正勉力支撑的曹操带来了关键转机。陈寿只用一句话来记载这件事:"绍谋臣许攸贪财,绍不能足,来奔,因说公击琼等。"
许攸这个人老想乘乱世谋利,结果眼界太高,自律不严,树敌太多,被排挤出了袁绍阵营。许攸深夜来到官渡,曹操正在洗脚,听到老同学来了,光着脚就出来迎接。他拍着手笑道:"子远来了,我的事情有转机了!"坐定后,许攸问曹操:"袁氏军盛,你打算怎么对付?军中还有多少粮草啊?"曹操回答:"还能支撑一年。"许攸说:"不是吧,再说!"曹操又说:"还可以支持半年。"许攸曰:"你不想打败袁绍了吧,为什么不实话实说呢?"曹操不得不说:"刚才是玩笑而已。其实军中余粮只有一个月了,怎么办?"许攸说:"你孤军独守,外无救援,内无粮谷,现在已经是危急时刻了。"他进而透露了一个重要情报:袁军辎重屯在乌巢,驻军防备不严。许攸建议曹操用轻兵偷袭粮站,焚烧完尽。这样不到三日,袁氏自败。