曹操有了自己的根据地,又挟天子于许昌,此时他无论是为了扩张势力,还是为了解除后患之忧,东征徐州进攻吕布都成为势在必行之举。公元198年九月,吕布应袁术的请求,派高顺攻击暂居在沛县的刘备,曹操则遣大将夏侯惇出兵营救刘备,结果反被高顺击败。曹操于是亲自率兵征讨徐州,围攻下邳,对吕布发起了进攻。
曹操率军到达下邳城下后,他先派人去劝降吕布。吕布见到曹操的使臣后本欲投降,但陈宫等人劝吕布说:“曹公远来,不能久战。将军如果以步骑出屯城外,我则率剩余部众闭守在城内,如果曹公攻将军,我就引兵出城攻曹公后方;如果曹公只攻城,那将军可在外救城。不过几个月,曹公军粮食毕尽,到时候,只要攻击他就可以取胜了。”吕布听后认为可行,就答应了陈宫的计策。可很快,吕布就改变了主意。吕布在出城前先回到府中和妻子告别,而吕布的妻子听说了陈宫的计策后就对吕布说:“过去曹氏待陈宫如赤子,陈宫仍舍弃曹操归顺了我们。今天将军虽对陈宫厚待,但也超不过曹氏,却要将全城托付给他,舍弃我和孩子,孤军远出吗?将军出城以后,一旦有变,我还会是将军的妻子吗?”吕布听了妻子的话,便放弃了陈宫的计策。他先是派人去向袁术求救,然后自己带着千余骑兵出城与曹操交战,战败后他迅速退回到城中,保城不出,而袁术的救兵则迟迟没有到。吕布就这样失去了取得胜利的机会。
尽管吕布已失去了夺取胜利的唯一机会,但下邳城厚,并不容易攻破,曹操便掘泗水灌城。大水环城,令城墙松动,一时间城中人心惶惶,将帅意志消沉。这时又发生了一件偶然事件,更加速了吕布的失败。一天,吕布的部将侯成让手下人牧一匹名马,不想那部下却骑马叛变了。侯成发现后立即策马急追,把那叛变的部下和马都追了回来。诸将听说后,都带礼物来向侯成祝贺,侯成于是设酒肉款待诸将,并先拿酒去见吕布说:“蒙将军威灵,我追回了宝马,诸将都来祝贺,我设酒肉,未敢先尝,特先来献给将军。”吕布先前曾颁布过禁酒令,严禁将士饮酒。此时侯成拿酒来见他,吕布就愤怒地说:“我禁酒,而你却私自酿酒,是为了要用酒来害我吗?”吕布的这番话说得实在不怎么样。命令是死的,人是活的,因一禁酒令扫了诸将的兴,更怀疑自己的爱将有谋害自己的意思,这实在很伤人。