曹操大怒,派张辽出战,张郃跃马来迎。两将打斗了四五十合后不分胜负,曹操见了暗暗称奇。许褚挥刀纵马,直出助战,高览也挺枪接住,四员大将捉对儿厮杀。曹操命令夏侯惇、曹洪各自带领三千军士一起冲阵。
审配看到曹军前来冲阵,便命令放起号炮,两侧里埋伏的军兵万弩并发,中军内弓箭手一齐拥出阵前乱射。曹军从没有经历过这个阵势,望南急退。袁绍驱兵掩杀,曹军大败,一直退到官渡,袁绍移军逼近官渡下寨。审配说:“现在可拨付军兵十万守卫官渡,在曹操寨前筑起土山,命令军士居高临下往曹营中放箭。曹操如果放弃隘口而退,那么许昌可破。”袁绍听从,在各寨内挑选精壮军士,用铁锹挖土,用扁担挑大筐运土,一起来到曹操寨边,很快垒土成山。
曹军寨营中看到袁军堆筑土山,要冲出去厮杀,却被审配派的弓弩手挡住咽喉要路,不能前进。十天之后筑成土山五十多座,上立高橹,分拨弓弩手在上面朝曹营中射箭。曹军十分惊慌,都举着盾牌防御。土山上一声梆子响后箭飞如雨,曹军都趴到地上用盾牌遮挡,袁军齐声呐喊大笑。
曹操见到军士慌乱,就召集众谋士问计。刘晔说:“我能够制做发出石车来破弓箭。”曹操命令刘晔造出车的样式,连夜赶造出发石车数百辆,分布在营墙内,正对着土山上。等到弓箭手射箭时,营内一齐拽动发石车,炮石飞空,往土山上乱打。军士无处躲藏,弓箭手死伤无数。袁军都把发石车叫做“霹雳车”,从此再也不敢登高射箭。
审配又献出一计:采用当年击破公孙瓒的战法,命令军人用铁锹暗挖地道,直到曹军营中,号称为“掘子军”。
曹兵看到袁军在山后掘土坑,报告了曹操,曹操又向刘晔问对策。刘晔说:“这是袁军不能明攻转而暗攻,正在挖掘地道,想从地下进入营中。”曹操问:“咱们怎么来防御?”刘晔说:“可以绕着大营四周掘起长堑,那么他们的地道就没有什么用处了。”曹操连夜派军士掘堑,袁军掘地道到达堑边后,却不能攻入,白白浪费了很多军力。
却说,曹操把守着官渡,从八月初到九月底,军兵逐渐疲惫,粮草也是接济不上。曹操想要放弃官渡退回许昌,迟疑不定,于是写信派人到许昌向荀彧问计,荀彧马上回来书信。信中大致意思是:“我尊奉丞相命令,特地为丞相解进退之疑。我认为袁绍把全部兵力聚集到官渡,想和明公决胜负,公应该以弱胜强。如果不能取胜,则必定让袁绍有机可乘。这正是天下命运的转折时期。袁绍军兵虽然众多,但他不会调度使用。凭借小姐的神武英明,哪里会有攻不破的地方!现在我军虽然人数很少,但却象当年的楚、汉在荥阳、成皋之间争锋。小姐扼守官渡咽喉,使袁军不能前进一步,袁军军力必然衰竭,肯定马上要出现重大变数。这是用奇兵战胜袁军的最佳时机,千万不要丧失。我希望小姐仔细决断。”曹操得书信后大喜,命令将士誓死守卫。
袁绍也没有占到什么便宜,就退军三十多里后扎下营寨,曹操派遣大将出营巡哨。徐晃部将史涣捕获一名袁军细作,押解来见徐晃,徐晃问袁绍军中虚实。那个人回答道:“大将韩猛负责运粮到军前接济,命令我们先来探路。”徐晃便将这件事报告了曹操。荀攸说:“韩猛只是匹夫之勇。如果派遣一人领数千轻骑从半路截击,截断袁军的粮草供应,袁军会不战自乱。”曹操问:“谁人能去?”荀攸说:“就派徐晃前往。”曹操派徐晃带史涣领本部军马先出,派张辽、许褚领兵接应。
这一天夜里,韩猛押送数千辆粮车奔赴袁绍大寨。正行进之间,山谷中徐晃、史涣领军马截住去路,韩猛飞马来战,徐晃接住厮杀。史涣趁机杀散军士,放火焚烧了粮车。韩猛抵挡不住,拨回马便退,徐晃催促军兵烧毁他们的全部辎重。袁绍军中望见西北方向火起,正惊疑之间,败军跑回来报告:“粮草被劫!”袁绍急忙派遣张邰、高览去截断大路,正遇到徐晃烧粮而回,正要交锋,背后张辽、许诸军马赶到。两下夹攻,杀散袁军后四将合兵一处,回到官渡寨中。曹操大喜,重重加以封赏。又分军马在寨前结营,成为掎角之势。
却说,韩猛败军狼狈逃回大营,袁绍大怒,要杀韩猛,众文武极力求情才得幸免。审配说:“行军打仗以粮食为重,不能不用心提防。乌巢是我们大军屯粮之地,必须派重兵把守才行。”袁绍说:“我早已安排好了,你只需负责回邺郡催收粮草,不要让前线缺粮就是。”审配领命而去。袁绍派遣大将淳于琼领大将眭元进、韩莒、吕威璜、赵睿等,率两万人马去守卫乌巢。那淳于琼性子刚强好喝酒,手下军士十分畏惧,到了乌巢后他天天和众将领聚集饮酒。