绍军约退三十余里,操遣将出营巡哨。有徐晃部将史涣获得袁军细作,解见徐晃。晃问其军中真假。答曰:“迟早大将韩猛运粮至军前布施,先令我等探路。”徐晃便将此事报知曹操。荀攸曰:“韩猛匹夫之勇耳。若遣一人引轻骑数千,从半路击之,断其粮草,绍军自乱。”操曰:“那个可往?”攸曰:“即遣徐晃可也。”操遂差徐晃将带史涣并所部兵先出,后使张辽、许褚引兵救应。当夜韩猛押粮车数千辆,解赴绍寨。正走之间,山谷内徐晃、史涣引军截住来路。韩猛飞马来战,徐晃接住厮杀。史涣便杀散人夫,放火燃烧粮车。
绍曰:“吾奉衣带诏讨贼!”操怒,使张辽出战。张邰跃马来迎。二将斗了四五十合,不分胜负。曹操见了,悄悄称奇。许褚挥刀纵马,直出助战。高览挺枪接住。四员将捉对儿厮杀。曹操令夏侯惇、曹洪,各引三千军,齐冲彼阵。审配见曹军来冲阵,便令放起号炮:两下万弩并发,中军内弓箭手一齐拥出阵前乱射。曹军如何抵敌,望南急走。袁绍驱兵掩杀,曹军大败,尽退至官渡。袁绍移军逼近官渡下寨。审配曰:“今可拨兵十万守官渡,就曹操寨前筑起土山,令甲士下视寨中放箭。操若弃此而去,吾得此隘口,许昌可破矣。”绍从之,于各寨内选精干甲士,用铁锹土担,齐来曹操寨边,垒土成山。曹营内见袁军堆筑土山,欲待出去抵触,被审配弓弩手当住咽喉要路,不能进步。旬日以内,筑成土山五十余座,上立高橹,分拨弓弩手于其上射箭。曹军大惧,皆顶着遮箭牌守御。土山上一声梆子响处,箭下如雨。曹军皆蒙楯伏地,袁军号令而笑。
却说袁绍发兵,望官渡进发。夏侯惇发书垂危。曹操起军七万,前去迎敌,留荀彧守许都。绍兵临发,田丰从狱中上书谏曰:“今且宜静守以待天时,不成妄兴大兵,恐有倒霉。”逢纪谮曰:“主公兴仁义之师,田丰何得出此不祥之语!”绍因怒,欲斩田丰。众官告免。绍恨曰:“待吾破了曹操,明正其罪!”遂催军进发,旗号遍野,刀剑如林。行至阳武,下定寨栅。沮授曰:“我军虽众,而英勇不及彼军;彼军虽精,而粮草不如我军。彼军无粮,利在急战;我军有粮,宜且缓守。若能旷以日月,则彼军不战自败矣。”绍怒曰:“田丰慢我军心,吾回日必斩之。汝安敢又如此!”叱摆布:“将沮授锁禁军中,待我破曹以后,与田丰一体定罪!”因而命令,将雄师七十万,东西南北,四周安营,连络九十余里。
曹操见军慌乱,集众谋士问计。刘晔进曰:“可作发石车以破之。”操令晔进车式,连夜造发石车数百乘,漫衍营墙内,正对着土山上云梯。候弓箭手射箭时,营内一齐拽动石车,炮石飞空,往上乱打。人无躲处,弓箭手死者无数。袁军皆号其车为“轰隆车”。由是袁军不敢登高射箭。审配又献一计:令甲士用铁锹暗打隧道,直透曹营内,号为“掘子军“曹兵瞥见袁军于山后掘土坑,报知曹操。操又问计于刘晔。晔曰:此袁军不能攻明而攻暗,发掘伏道,欲从地下透营而入耳。“操曰:何故御之?“晔曰:可绕营掘长堑,则彼伏道无用也。“操连夜差军掘堑。袁军掘伏道到堑边,果不能入,白费兵力。
细作探知真假,报至官渡。曹军新到,闻之皆惧。曹操与众谋士商讨。荀攸曰:“绍军虽多,不敷惧也。我军俱精锐之士,无不一以当十。但利在急战。若拖延日月,粮草不敷,事可忧矣。”操曰:“所言正合吾意。”遂传令军将鼓噪而进。绍军来迎,两边排成步地。