当袁绍的军队赶到延津以南的时候,曹操命令军队在延津南面山坡下扎好营。瞭了望哨发现袁军,立刻向曹操报告说:“袁绍追兵约有五六百骑。”过了一会,又报告说:“袁军骑兵比以前又增加了一些,步兵多得数不过来。”曹操一面命令不用再来报告,一面让所有骑兵都卸下马鞍放马,把辎重车辆都杂乱地停在路上。曹操的部下都认为敌军众多,恐难抵挡,主张退守营垒。只有荀攸领会曹操的用意,对他们说:“这样正是为了引诱敌人上钩,怎么能够后退呢?”不一会,刘备和袁将文丑一同率领五六千人马先后来到。曹军将领们感到情况紧急,催请曹操下令,上马应战。曹操还是非常沉着,对他们说:“还不到时候。”又过了片刻,袁军后继队伍大部分赶到,看见曹军的军用物资堆得满地都是,就争先恐后地去抢夺,乱成一片。于是,曹操立刻指挥全军,一齐上马冲杀。文丑在混乱中被杀。曹操的军队俘虏了文丑的全部人马,退回官渡。袁绍一连损失两员大将和许多人马,士气受到了重大的挫折。曹操方面在相当程度上改变了被动地位,奠定了全局胜利的初步基础。
决战的前夕
经过白马、延津两仗以后,袁、曹双方进入了一个暂时相持的阶段。袁绍虽然连败两仗,但是仍旧保持着优势力量:从军队数量说,袁绍的军队将近十万人,曹操最多不过三四万人。从后方的经济力量说,曹操占领的兖、豫二州,是汉末以来破坏得最严重的地区之一,远不如袁绍占领的河北地区那样富庶。曹操虽然在进入许都的那一年,就开始屯田积谷,但是毕竟只有四五年的光景,还不能根本改变占领区的残破面貌。军用粮饷,也远远不及袁绍充足。
曹操是一个有才干的政治家、军事家。他虽然在物质条件方面还比不上袁绍,但是他很懂得从政治上争取人心。他一方面严令各地方官加紧催收租税,以便供应前线;另一方面,也采取了一些笼络人心的政治措施。例如:他采纳了朗陵(今河南确山西南)令赵俨的建议,把阳安郡(治所在朗陵)界内所征收的绵绢,发还给百姓,减轻一些人民的负担。又如:他下令部队行军时不许马踏麦田,违者处死。所以能在一定程度上得到人民的支持,为自己在军事上战胜敌人创造了有利的条件。
袁绍没有能从失败中吸取教训,仍旧仗着他在军队数量、装备和物资储备上的优势,盲目冒进。月,袁绍把大军集结到官渡北面的阳武,准备继续发动进攻。沮授再一次向他分析战争形势说:“我方军队虽然人数多,却比不上曹军勇敢善战;曹军的弱点是军粮少,物资储备没有我方充足。”根据这个客观情况,他建议袁绍,用持久战来消耗曹军的力量,以便最后战胜曹操。袁绍仍旧不听从沮授的意见。他命令主力部队进到官渡前线,安营下寨,军营东西长达几十里。曹操也针锋相对,摆好阵势,同袁军对峙。
公元年月,曹操向袁军发动了一次进攻,没有获胜。他就改变方针,深沟高垒,固守阵地,以等待有利时机。袁绍见曹军坚守不出,命令士兵在曹营外面堆起土山,砌起高高的壁楼,在那里用箭射击曹军。箭密得像下雨一般。曹营士兵来往行动都得用盾牌遮住身体。曹操命工匠连夜赶造了一种炮车,发射石块,把袁军的壁楼击破。炮车发射石块的时候,声响如雷,因此,当时人们都管这种车叫“霹雳车”。袁军这一着没有成功,又暗凿地道,直通曹营,打算由地道里打过去。曹操针对这种地道战术,命人在营墙内挖掘长沟,进行防御。双方就这样在官渡相持了三个多月。
当时,曹操方面军队数量既少,军粮也不充足。在这种不利的处境下,曹操统治区内的很多军民都对战争前途有怀疑,有些郡县叛变了。曹操也很忧虑,他曾经写信同留守许都的荀商量,打算退守许都。荀给曹操写回信,向他分析战争的前途。信里说明,当前是战败袁绍、取得最后胜利的重要关头;曹军粮食虽然不足,但是还不至于毫无办法,只要坚持下去,战局一定会很快发生变化。他劝曹操要努力争取最后胜利,千万不要退兵,失却机会。曹操认为荀的见解很正确,就坚定了同袁绍周旋到底的决心。他一面命令部队继续固守官渡,一面密切注视敌人动态,以便寻找有利时机,进行最后的决战。
曹操夜袭乌巢,袁绍败归河北
在两军相持阶段,军粮的补给是关系战争胜败的一个重要因素。曹操看到袁军粮草虽然比较充足,但是因为军队多,消耗也大,如果军粮发生问题,就会不战自败。曹操一方面严令后方催办粮草,接济军需;一方面,决定派人去烧毁袁军的粮草。恰巧袁绍派韩猛监押粮车几千辆,前来官渡途中。韩猛是袁绍手下的一员战将,但是他有勇无谋,而且轻敌少备。荀攸了解到这个情况,就向曹操建议派兵去劫夺袁绍的粮车。曹操派部将徐晃和史涣带兵前往,打跑了韩猛,烧掉了他押送的全部粮车和军用物资。到了月,袁绍又派人从河北运来一万多车军粮,囤积在大营以北里的故市、鸟巢(都在今河南延津县境),还特派大将淳于琼带领一万人驻扎在那里保护。由于上次粮车被烧,一度造成袁军给养的困难,因此沮授特别提醒袁绍,要他另派一员战将率领一部分部队驻防在淳于琼的外侧,以防曹军抄袭。袁绍没有采纳。