建安三年九月,曹操决定亲自东征吕布。同年冬十月,曹军势如破竹,攻克彭城,并展开屠城,俘获了彭城相侯谐。曹操乘胜进军,抵达下邳。吕布亲自率领骑兵迎战,试图抵挡曹操的攻势。但曹操指挥有方,曹军士气高昂,一举大破吕布的军队,还擒获了吕布军中的骁将成廉。曹军乘胜追击,一直追到下邳城下。吕布见曹军来势汹汹,心中恐惧,便想投降。然而,陈宫等人坚决反对投降,极力劝阻吕布,还建议他向袁术求救,并劝说吕布出城迎战。但吕布出战后再次战败,无奈之下只能退回城中,坚守不出。曹操的军队连续作战,士卒们疲惫不堪,曹操见状,便产生了退兵的想法。关键时刻,曹操听取了荀攸、郭嘉的计策,下令决开泗水、沂水,水淹下邳城。
一个多月后,吕布军中发生内乱,部将宋宪、魏续等人抓住陈宫,打开城门向曹操投降。曹操顺利入城,生擒了吕布和陈宫。曹操深知吕布反复无常,陈宫又诡计多端,留着他们恐成后患,于是下令将二人斩杀。
太山郡的臧霸、孙观、吴敦、尹礼、昌豨等人各自聚集了一批人马。在吕布打败刘备时,臧霸等人都追随了吕布。如今吕布战败,臧霸等人也被曹操俘获。曹操深知这些人在当地有一定的影响力,为了稳定局势,他不仅没有为难臧霸等人,反而以优厚的待遇接纳他们,还划出青州、徐州靠近海边的土地,让他们治理,并从琅邪、东海、北海三郡中分出城阳、利城、昌虑等郡。
当初,曹操担任兖州牧时,任命东平人毕谌为别驾。张邈背叛曹操时,劫持了毕谌的母亲、弟弟、妻子和儿女。曹操得知后,体谅毕谌的处境,主动辞退他,说道:“你的老母亲在张邈那里,你可以离开我,去照顾他们。”毕谌听后,向曹操叩首,言辞恳切,表明自己并无二心。曹操被他的忠诚所感动,不禁流下眼泪。然而,毕谌离开曹操后,却背叛曹操,投奔了张邈。等到曹操攻破吕布,生擒毕谌时,众人都为毕谌的性命担忧。曹操却感慨道:“一个人能对自己的亲人尽孝,难道会不忠于君主吗?这正是我所需要的人才啊。”于是,曹操不仅没有惩罚毕谌,还任命他为鲁相。
据《魏书》记载,袁绍一直与原太尉杨彪、大长秋梁绍、少府孔融等人有矛盾,他想让曹操以其他罪名诛杀这些人。曹操