命令当地百姓敲冰拉船,百姓听到命令后纷纷逃走。曹操大怒,想要抓捕斩杀他们。百姓听说后,就亲自到军营中自首。曹操说:“如果不杀你们,我的号令就无法施行;如果杀了你们,我又不忍心。你们赶快到山中躲藏起来,别被我的军士抓到。”百姓都流着泪离开了。
袁谭带兵出城,与曹军对抗。两阵摆开,曹操骑马出阵,用马鞭指着袁谭骂道:“我厚待你,你为什么产生异心?”袁谭说:“你侵犯我的领地,夺取我的城池,霸占我的妻子儿女,反而说我有异心?”曹操大怒,让徐晃出马。袁谭派彭安迎战。两马相交,没几个回合,徐晃就把彭安斩于马下。袁谭的军队败逃,退入南皮,曹操派兵四面围住。袁谭惊慌失措,派辛评去见曹操商议投降。曹操说:“袁谭这小子,反复无常,我难以相信他。你弟弟辛毗,我已经重用,你也可以留下来。”辛评说:“丞相错了。我听说‘主贵臣荣,主忧臣辱’。我长期侍奉袁氏,怎么能背叛他呢!”曹操知道留不住他,就把他送了回去。辛评回去见袁谭,说曹操不准投降。袁谭叱责道:“你弟弟现在侍奉曹操,你也怀有二心吗?”辛评听了这话,气得满胸怒火,昏死在地。袁谭让人把他扶出去,不一会儿辛评就死了,袁谭也感到后悔。郭图对袁谭说:“明天把百姓全部赶到前面,军队跟在后面,和曹操决一死战。”袁谭听从了他的建议。当夜把南皮百姓全部驱赶出来,让他们拿着刀枪听令。第二天黎明,大开四门,军队在后,驱赶百姓在前,喊声震天,一起涌出,直抵曹营。两军混战,从辰时打到午时,胜负未分,尸横遍野。曹操见没有取得全胜,弃马上山,亲自击鼓。将士们看到后,奋力向前,袁谭的军队大败,百姓被杀的不计其数。曹洪奋勇冲入敌阵,正好遇到袁谭,举刀乱砍,袁谭最终被曹洪杀死在阵中。郭图见阵脚大乱,急忙骑马冲入城中。乐进望见,拈弓搭箭,把他射下城壕,人马都陷了进去。曹操带兵进入南皮,安抚百姓。忽然有一支部队到来,是袁熙的部将焦触、张南。曹操亲自率军迎接,二将倒戈卸甲,前来投降,曹操封他们为列侯。又有黑山贼张燕,率领十万兵马前来投降,曹操封他为平北将军。
曹操下令将袁谭的首级示众,敢有哭的人斩首。袁谭的头挂在北门外,有一个头戴布冠、身穿丧服的人,在头下