曹操在官渡大败袁绍后,整顿军马,北渡黄河,直追袁绍。袁绍不甘心失败,为报仇雪耻,又纠集河北四州之兵,至仓亭扎寨,准备与曹操决一死战。袁、曹两军对峙,各布阵势,第一次一交一 锋,曹军徐晃部将史涣就死于袁绍第三子袁尚的利箭之下。
曹操失去史涣一将,心中烦闷,说:“似这样对阵相互厮杀,何时是个了局?”
谋士程昱献计道:“秦末楚汉相争,高祖皇帝运用十面埋伏之计,使项羽自刎身亡。我们何不效法?”
曹操说:“愿你详细讲一讲。”
程昱说:“将我军退至黄河边上,背水为阵,伏兵十队,引诱袁绍逼赶我军。”
左右大惊道:“如此,我军岂不太危险了?”
程昱笑道:“兵法说,置之死地而后生。我军无退路,必须死战,即可稳胜袁绍。”
曹操采纳了程昱的计谋,将全军分列左右各五队。左列,一队夏侯惇,二队张辽,三队李典,四队乐进,五队夏侯渊;右列:一队曹洪,二队张郃,三队徐晃,四队于禁,五队高览。许褚为中军先锋,第二天,十队人马先行,埋伏在两侧。到了半夜,曹操同许褚率军前进,装着偷袭袁寨的样子。
袁绍见状,笑道:“曹操这下子要喂鱼了。”尽发五寨人马,迎战许褚。许褚拨马撤退,袁绍驱军赶来,喊杀之一声 不绝。等到天亮,袁绍将许褚逼到河边。曹军已无退路,曹操大喊:“前有追兵,后是绝境,大家为什么不决一死战?”曹军听了,一齐奋力向前冲杀。许褚一马当先,挥刀斩杀袁军十来个将领。
袁军大乱,只好撤退。退了一段路,几声“咚咚”战鼓响,左边夏侯渊、右边高览两支兵马冲出,袁绍带领三个儿子一个外甥,死命冲出一条血路。
又跑了十来里,左边乐进、右边于禁杀出,杀得袁军一尸一横遍野。又跑了数里,左边李典、右边徐晃两支人马截杀过来,袁绍父子胆战心惊,奔入寨门,令军队埋锅造饭,正要吃时,左边张辽、右边张郃,径直前来冲寨。袁绍慌忙上马,率部奔向仓亭,人困马乏,正要休息。不料后面曹操率大军赶来,袁绍拼命逃离。正走间,右边曹洪、左边夏侯惇,挡住去路。袁绍大叫:“如果不拼死一战,我们都要给活捉了!”奋力冲杀一阵,侥幸逃出重围。
袁绍抱住儿子们大哭一场,长叹道:“我经历战事数十次,从没有像今天这样狼狈的!”说完,命令部将回各地整顿军务,自己带着袁尚到冀州养病去了。