军士报告袁绍又聚集了四州之兵,共有二三十万,前锋到达仓亭扎下营寨。曹操提兵前进,下寨已定。第二天,两军相对,各自布成阵势。曹操领众将出阵,袁绍也率领三个儿子和外甥以及文官武将来到阵前。
曹操说:“本初你已经计穷力尽,还不早早投降?真正等到刀架到脖子上,就会悔之不及!”
袁绍大怒,回头问众将:“谁敢出马?”袁尚想要在父亲面前逞能,舞动双刀飞马出阵,四周奔驰。曹操指着袁尚问众将:“这个人是谁?”有认识的回答道:“这是袁绍的三儿子袁尚。”话还没有说完,有一将早挺枪杀出。曹操一看,是徐晃部将史涣。两骑相交,斗不到三个回合,袁尚拨马往刺斜里便走。史涣紧紧赶来,袁尚拈弓搭箭,翻身背射,一箭正中史涣左眼,他立刻坠马而死。袁绍见袁尚得胜,挥鞭一指,大队人马杀将过去,双方混战一场,各自鸣金收军回营。
曹操和诸将商议击破袁绍的计策。程昱献出十面埋伏之计,劝曹操退军到黄河边上,埋伏十队军马,引诱袁绍追赶到河边,说:“我军如果没有退路后肯定拼死一战,一战可胜袁绍。”曹操采纳了程昱计策,左右各分成五队。左路一队夏侯惇,二队张辽,三队李典,四队乐进,五队夏侯渊。右路一队曹洪,二队张郃,三队徐晃,四队于禁,五队高览。中军许褚为总先锋。
第二天,十队人马先悄悄地埋伏在左右。到了半夜时分,曹操命令许褚领兵前进,装作去劫夺袁军大寨。袁绍军五寨人马一齐杀出,许褚回军便退。袁绍领军追赶,喊杀声不绝于耳。天明时分追赶到了河边,曹军再也没有了退路,曹操大呼道:“前面再也没有退路,诸军将还不决一死战!”
众军士回身奋力冲杀,许褚一马当先,连斩袁军十余将,袁军顿时大乱。袁绍急忙退军,背后曹军紧紧赶来。
正行进之间,四周一声鼓响,左边夏侯渊,右边高览,两军冲出。袁绍和三个儿子外甥,杀条血路逃走。又行不到十里,左边乐进,右边于禁杀出,杀得袁军尸横遍野,血流成河。又行不到数里,左边李典,右边徐晃,两军截杀了一阵。袁绍父子心惊胆战,逃奔回旧寨。命令三军紧急造饭,正要吃饭,左边张辽,右边张郃,直奔来冲寨。袁绍慌忙上马,逃出仓亭。这时已经人马困乏,正要喘口气时,后面曹操大军追杀而来,袁绍舍命逃窜。正行进之间,右边曹洪,左边夏侯惇,挡住了去路。
袁绍大呼道:“如果再不决以死战,我们肯定被擒!”奋力冲突冲出重围,袁熙、高干都被箭射伤,军马基本死伤干净。
袁绍抱着三个儿子痛哭一场,不觉昏倒。众人急忙抢救,袁绍却是口吐鲜血不止,叹息道:“我前后历经十多场恶战,没有想到会如此狼狈!这是老天要灭我!你们各自回本州整顿军马,我誓死和操贼一决雌雄!”
便命辛评、郭图火速随袁谭前往青州整顿军马,防备曹操进犯;令袁熙仍然回到幽州,高干回到并州。各自去收拾人马,以准备随时征用。袁绍领袁尚等进入冀州养病,命令袁尚和审配、逢纪暂时掌管军务。