張遼此時見河北內亂又生,袁熙已亡,又接到郝昭來書,命令夏侯淳率領北海守軍二萬駐守樂陵,率領大軍十萬攻打南皮.
南皮守軍在樂陵新敗後,尚有十一二萬兵馬。然而許攸、審配等人因為兄弟相殘,不得已奉袁譚為主。袁譚又懷疑袁尚舊部,許攸等人心灰意冷。袁譚見張遼率領大軍前來攻城,命令辛評、顏良率領大軍應戰。袁尚舊部許攸、審配等人,袁熙舊部潘鳳等將皆擱置不用。
張遼率領大軍到達南皮城下,聞知許攸等眾皆為袁譚所忌,大權握於辛評之手,大喜過望。命領副將率領少兵出戰,詐敗數次,以驕辛評之心。辛評連勝數場,趾高氣昂,以為自己用兵遠遠勝過許攸等人。
張遼見辛評已中驕敵之計,設下四路伏兵,率領兵馬三萬前往誘敵。辛評不識張遼之計,與顏良率領八萬兵馬追擊張遼所部,被張遼引誘到埋伏之處,曹軍四路伏兵盡起。辛評所部兵馬大敗,損折士兵三萬餘眾,辛評也為張遼所擒,顏良率領敗軍突出重圍,敗退入城。
張遼新得降兵二萬餘人,命人押赴北海由程昱收編。又借濮陽守兵兩萬來助,欲要一舉攻破南皮。袁譚見張遼勢力強大,兩軍兵勢逆轉,復起用許攸、審配等人,南皮防守逐漸鞏固。
許攸等人不是張遼對手,此時形勢如此危急,自然不敢出戰,命令田豐分兵前來救援。田豐接訊,命令張合率領二萬代縣守兵往援南皮。張合率領所部行至半途,為張遼伏兵殺敗,折兵一半,引敗兵退到南皮。
此時郝昭大軍兵臨代縣城下,今見田豐分軍,攻勢益加猛烈。田豐使用許子將所練強駑兵攻擊曹軍,卻為郝昭所部兵馬用鐵盾遮住,田豐無法可施,守城將近百日,為郝昭夜間偷襲得手。代縣城破,田豐率領敗軍逃往易京,軍士在途中逃亡者眾多,城中七萬守兵趕到易京,余卒不足五萬。
張遼見郝昭軍攻克代縣,率領大軍日夜攻打南皮,為許攸率領守軍拚死阻住,反而損折不少兵士。張遼見許攸、審配多謀,又堅守不戰,難以勝之。探得袁譚多疑,遂使人流言許攸、審配欲要獻城降曹。袁譚果然中計,使陳琳督軍。
張遼又重用一名河北降將,偽作許攸、審配降書使其觀看。又書回信放於案幾,召降將入帳共飲,執書對其言:「不出十日,南皮必下。」降將問其故,張遼道:「今許攸等人約定獻門之期,此為回書也。」降將信以為真,暗竊其書,伺機出營。
降將到達南皮,至袁譚處獻書邀賞。袁譚閱書大吃一驚,命令顏良統領兵馬抓捕許攸、審配下獄。張合素與兩人交好,許攸又於軍中素有威望,張合鼓動士兵與袁譚計較。袁譚見士兵嘩亂,命令顏良率領大軍平亂。張合大怒,率領士兵開城出降,隨其降者四萬餘眾,袁熙部將潘鳳、左賢王亦隨降。
張遼聞訊大喜,厚待眾位降將,然後統領重兵攻打城池。南皮城中軍無戰心,半日內城池失陷,陳琳、陳震、蔣義渠被俘。顏良等將保護袁譚逃奔易京,所餘兵卒不足四萬。張遼入城安民完畢,使人赴許昌報捷。
此時許攸、審配皆在獄中,張遼使人押其到帥帳,又取辛評、陳琳、陳震、蔣義渠四人,欲要勸降六人,六人皆大罵,無一降者。張遼傳命斬六人於帳外,歎曰:「河北多忠義之士,若是不生內亂,勢難以破之。」命令士兵厚葬六人。
張遼攻克南皮,又得張合、潘鳳、左賢王三將四萬兵馬。曹操因為張遼功高,封張遼為南皮王,命令其節制郝昭所部大軍,攻打袁譚餘部。又命令張合三名降將率領降兵趕赴許昌。
張遼安頓完南皮軍務,命令副將率領一萬兵馬接替夏侯淳駐守樂陵,讓夏候淳率領二萬兵馬駐守南皮,起兵十一萬攻打易京。命令郝昭分兵五萬前來相助。
袁譚兩路敗軍彙集易京,共有十萬兵馬,北平、襄平守軍尚有五萬餘眾。袁譚整頓兵馬,命令田豐、顏良、文丑、高幹、田疇、楊詐率領十萬兵馬駐守易京,自與郭圖、沮授、呂曠、呂翔率領四萬兵馬駐守北平,又使辛毗、王粲、薛琮、賈范率領大軍一萬駐守襄平。
張遼、郝昭兩路大軍合兵,共計十六萬兵馬,日夜攻打易京。田豐見易京工事簡陋,糧草不多,不利堅守。率領大軍出城與張遼決戰,顏良、文丑均勇冠三軍,將士絕地反擊,人人死戰,竟然小勝一場,斬敵五千餘人。
張遼、郝昭遇挫,相商對策。郝昭道:「文遠公率領十萬兵馬敵住田豐所部,我率領六萬兵馬前往攻打北平,北平勢危,袁譚必調易京兵馬往救,公可趁機取城。」張遼然其計,屯住兵馬,作久攻計,分兵使郝昭攻取北平。
袁譚見郝昭來攻,與眾人相議。郭圖道:「近聞張遼大軍進攻易京受挫,今郝昭前來相攻,意使田豐分軍相救,張遼就勢取城。莫若固守,若能支撐數月,或有轉機。」沮授道:「不然,現今易京糧草缺少,兵力弱於張遼所部,恃顏良、文丑勇猛得以不敗,莫若放棄易京而守北平。若是不然,北平勢危,必然動搖易京軍心。易京糧盡之日,田豐大軍必敗,北平亦會不保。」袁譚左右為難,無所適從。
此時郝昭率領大軍猛攻,北平城防立見漏洞。袁譚見勢急,急使田豐棄守易京,全力保衛北平。田豐得令,命令諸軍準備撤離。
張遼聞報郝昭軍攻勢甚猛,北平勢危,又見易京守兵惶惶不安,料知田豐所部欲要撤歸北平。只留一萬兵馬守營,多立旗幟,以為疑兵,自率九萬兵馬伏於田豐歸途。
田豐軍行到半途,為張遼重兵伏擊,田豐所部兵無戰心,措手不及,遭伏大敗,高幹被張遼所殺。顏良、文丑保護田豐衝出重圍,沿途士兵逃亡者不知其數。
田豐等人於途聚集敗軍,只餘六萬餘人。將近北平,郝昭接到訊息,又使伏兵大殺一場,楊詐被郝昭所殺。袁譚命令呂翔率領所部兵馬接應,田豐所部士兵方得以入城,十萬大軍尚餘半數。
張遼與郝昭合兵共有十五萬兵馬,北平守兵不足九萬。張遼所部知道守兵已無戰心,率領大軍日夜猛攻,第三日攻破北平,文丑、顏良被張遼所部圍攻,為亂箭攢射而亡。郭圖、逢紀為曹軍生擒,不降而死。余將保護袁譚突圍,逃往襄平。袁氏家小也在此戰中為張遼所得,遣人派往許昌。
袁譚逃至襄平,城內守兵只餘三萬餘眾,武將只餘呂曠、呂翔、田疇、辛毗,文官尚餘田豐、賈范、王粲、沮授、薛琮。河北諸郡只留襄平一地,五十萬雄兵只餘三萬餘眾,袁氏家小亦為敵人所擄,為祖上基業毀於一旦。
張遼使郝昭率領兵馬留守北平,整頓郡務,自率大軍十萬追擊袁譚。袁譚勢孤,已經無處可退。田豐道:「昔日金旋、周瑜曾經說道,倘若勢危之時,可以渡海逃往會稽。」袁譚猛然省起,命令準備海船,遣散士兵,只留精兵五千,帶領諸位文武家小,渡海投奔金旋而去。河北袁氏至此亡。
張遼大軍兵不血刃又得襄平,河北之地,皆為所平。曹操在此設置官吏,安撫百姓。命令郝昭率領精兵五萬急赴許昌,張遼分軍駐守河北諸郡,其餘士兵都到北海防禦。