曹操即位,纳郭嘉之策,命各郡大征士兵,效金旋屯田之法。曹操所拥诸郡,除安定之外,皆人口密集之地,各郡得曹操命令,征得新兵二十万。曹操时拥七郡、四座驻兵关隘。各郡新募士兵之后,兵力情况有所改变。长安、安定两郡共驻兵十九万;洛阳、壶关共驻兵十六万;谯城驻军八万;邺城驻兵六万;许昌驻兵八万;陈留、官渡、定陶驻兵十三万;濮阳界桥驻兵二十万。大军共九十万,曹操使新募之军聚以陈留、官渡、许昌等内地,遣将训练。
诸事分配毕,曹操命曹彰、陈登率军三万守濮阳,张燕、杨修率军两万守界桥,命张辽为主将、夏侯淳为副将,程昱为军师,统领程远志、吴纲、夏侯威、夏侯恩等将起兵十五万攻取平原。
时袁氏军队,受张辽、郝昭两军攻杀,共折兵十余万,尚余精兵四十余万。袁熙率军十万守晋阳、代县、易京,袁谭率军十万守北海,沮授率军四万守北平、襄平,袁尚率军十六万守平原、南皮、乐陵。袁尚闻张辽起兵,命许攸率文丑、张合等将十万兵马驻守平原,又使颜良统兵四万出北海,驻守乐陵,呼应平原守军。
张辽军以埋伏计大败河北军数次,威震河北,诸将与战,皆有怯意。许攸见军心如此,出战必不利。召众将聚议,曰:“前张辽在吕布帐下,数败于曹操。后归曹操,得杨修为谋,胜吾军数次。倘若吾军兵将力战,皆不惧死,吾军虽寡,必胜也。诸公若有惧意,不若弃城而去,使张辽笑河北无人。”众将面有愧色。许攸又言:“今张辽数以埋伏计取胜,吾今亦使埋伏计胜之,以壮军威,众将有敢死者,听吾调遣。”众将齐言:“愿效死力。”
许攸观界桥来路有一条山路,可以伏兵,派卞喜统领弱兵五千诱敌,使文丑率军两万伏东北、张合率军两万伏东南、高干率军两万伏西北、陈震率军两万伏西南。自率余兵守护城池。
夏侯淳、程远志率前锋部队五万赶来,卞喜率军突起。夏侯淳以河北军数败,易破,见卞喜伏军人少且老弱,指卞喜对程远志言曰:“此即河北伏军也。”程远志大笑。两军挥军与卞喜部接战,卞喜部回头就走,夏侯淳两将率兵追击。
两将追上卞喜部,与之交战,时河北兵人少老弱,未几时即不敌。此时河北四面伏兵突起,夏侯淳两将猝不及防,被河北军大杀一阵,冲出血路,往后退来,程远志被文丑所斩。夏侯淳为张辽中军所救,共折兵一万五千余。
张辽会聚众将,以夏侯淳轻敌折军,挫军锐气,欲斩之。众将求免,张辽命夏侯淳戴罪立功,处军棍二十。原南路军兵将见张辽军纪严肃,军风顿整。张辽又使人上书请罪,曹操使人抚慰两将。
河北军与张辽部相战,向来胜少负多,今日大胜,军威复振。诸将回营,向许攸献功道贺,袁尚闻知许攸大胜一场,命人重赏诸将。许攸知此战并不能使张辽退军,与诸将巡视城防,作长守之计。
张辽于半途屯军整兵,半月之后来到平原城下,于城西五里扎寨。许攸见张辽初到,半夜又使文丑、张合率六万兵马球劫营。两将入得营寨,放火烧毁缁重粮草无数。张辽大怒,使诸将急攻平原。许攸率军坚守,夜间遣将率兵扰之。诸将不胜其扰,劝张辽移营后撤。
张辽不从,思起一计,与程昱商议。张辽曰:“辽与诸将分营而立,辽率两万兵观屯于大营之侧以作诱饵,公与夏侯将军率领余军驻守大营。许攸必率众前来偷袭,公与夏侯将军从前营掩击,断其归路,袭其城池,吾军众,许攸必败也。”程昱劝曰:“此计虽妙,然而太险,倘若文远有何闪失,东征大军有何面目回归。可使一偏将引兵诱之,便可胜之。”张辽曰:“普通一将,必不能引许攸重兵而出,此计虽险,然可乘机歼其主力,一战决河北战局也。辽若有失,公与夏侯将军统其军,继续攻打,河北必败。”
张辽随将调兵兵符交于夏侯淳、程昱,夏侯淳服其胆色,心折不已。程昱使人流言,说曹操以张辽久攻不下,免其职,以夏侯淳、程昱代之。夏侯淳因失利曾受张辽军仗,使其率军两万分营而立。许攸得讯,使探兵细探,其讯属实,许攸大喜,召集诸将曰:“今张辽为夏侯淳所忌,分营自立,其营军少,吾拟一举而灭之,诸位尽力丰助。”诸将多吃张辽苦头,闻言大喜。
入夜,许攸使卞喜、王粲率军两万守城,自与诸将率八万大军往劫张辽营寨。张辽立营之时知许攸必至,于营内掘下陷坑若干,又使部下多备弓箭,命巡夜士兵分为两班,一班五千人。许攸引兵来到,为巡夜曹军发现,张辽使兵士以弓箭击之,河北兵损伤众。然河北兵多,诸将又力攻之,前寨遂破,张辽率军在后寨结阵应敌,对兵士言:“今河北军已中吾计,诸位可坚守之。会大营兵到,河北军必败也。河北军扬言,吾军被俘皆坑之。”众军见已陷绝地,皆出力相战。河北军不识地形,为陷坑所害者极多。
程昱闻报,命夏侯淳、吴纲统兵三万,以降卒带路,前锋五千人换上河北军衣甲,报以返城之军,赚开城门,接应后军抢城。自与夏侯威、夏侯恩弃营而去,率领大军九万掩击河北军。
许攸见程昱援军赶到,分兵迎战,仍以多军攻击张辽部。程昱所率之军跟随张辽日久,向服其能,闻知张辽有难,拼死向前,河北军抵挡不住,住后退来。此时张辽部见援军赶来,士气大振,也拼死向外杀来。程昱军众,河北军渐渐不敌。
时夏侯淳已袭得平原,杀死守将卞喜,王粲见势不妙,率败军往乐陵逃去。夏侯淳命吴纲率军两万守城,自率军一万住援张辽。许攸见平原火起,料知又中张辽诡计,不顾攻击张辽,率领诸将往外杀来。
许攸等杀到平原城下,正逢夏侯淳引军出城,知平原已失,也不与夏侯淳部交战,率领诸将前往乐陵。张辽等又率军追杀一阵,见乐陵救兵赶到接应,遂引军回。
此战极其惨烈,张辽部折兵一万余。许攸部死伤三万五千余,平原失陷,上书袁尚请罪。