建安三年三月,曹操再次进兵南征,围攻张绣的根据地穰县。
张绣据城坚守,曹操久不能下。
五月,刘表派兵援救张绣,准备断绝曹军退路,时有袁绍兵投降曹操,报告袁绍与谋士田丰等准备偷袭许都。
曹操急忙退军,张绣随后紧追。
时曹操前有刘表军队拒险,后有张绣追兵,前后受敌,形势危急,于是命军士连夜凿险阻为地道,使辎重先撤,然后将精兵埋伏在后。
天明,张绣、刘表等军以为曹操已全军撤退,倾全力来追。
曹操伏兵俱起,步骑夹攻,大败追军。然后安全退回许都。
建安三年九月,曹操决定先消灭盘踞徐州的吕布,再与北边的袁绍决战。
亲率大军东征,进至彭城。
陈宫劝吕布出兵迎击,吕布不肯,想等曹操进至下邳时,把他赶到泗水中去。
十月,曹操攻占彭城,将城中百姓全部杀掉。
随即进兵下邳,这时陈宫又建议吕布率步骑出屯下邳城外,自己守城,成犄角之势,互相声援;曹操远来,军粮不足,待其粮尽力疲,二军同时出击,定可大破曹操,吕布又不采纳。
曹军进至下邳,吕布率军出战,屡战屡败,遂守城不敢出,命军士将下邳城团团围住,昼夜猛攻,又掘附近的沂、泗二水淹灌下邳。
十二月,吕布处境危急,军中生变,时部将侯成的名马失而复得,诸将借此欢宴庆贺,并将酒肉献与吕布。吕布以侯成等人违犯军纪,予以重责。
侯成等人本无战心,遂与宋宪、魏续等人商议后,缚住陈宫等出降曹操。
吕布见部下离散,大势已去,遂出城投降。
曹操将吕布、陈宫杀死,收服吕布部将张辽、臧霸回师许都,至此势力发展到徐州一带。
建安三年,孙策遣正议校尉张纮至许都)进献方物,曹操为抚慰孙策,表其为讨逆将军,进封吴侯。
又将侄女许配与孙策之弟孙匡,并为子曹彰娶孙策