刘表部将邓济据湖阳,曹操生擒邓济,湖阳也投降。
之后,曹操又攻下了舞阴。
建安三年(198年)正月,曹操回到许县。
三月,曹操再次南征,围攻张绣于穰城。
四月,曹操所遣的谒者裴茂率中郎将段煨讨李傕,夷三族。
五月,刘表派兵救援张绣,并打算截断曹操后路。
曹操引军退还,张绣追击,曹操军无法前行。
于是,结成连营,得以慢慢前进。
曹操写信给荀彧说:“贼军紧追我军,虽然我军日行数里,但我算好了,到安众县时,一定能打败张绣。”
到了安众县,张绣和刘表联军守在险要地方,曹操军前后受敌。
于是,曹操派人趁天黑在险要处挖凿一条地道,把辎重物资全部偷运过去,又设下伏兵。
天明时,张绣军认为曹操已逃走,全军追赶。
曹操便派出步兵、骑兵两面夹攻,把贼军打得大败。
七月,曹操回到许都。
荀彧问曹操:“之前您料定一定会打败敌军,这是为什么?”
曹操回答:“敌人阻止我回归的部队,与我军死地战,我由此而知一定会胜利。”
九月,曹操东征徐州,进攻久与他为敌的吕布。
十月,曹操破彭城,擒获吕布的彭城相侯谐。
曹操进军下邳,吕布亲自率骑兵逆击,曹操大破吕布,擒获他的部将成廉,并追击到下邳城下。
吕布欲图投降,陈宫等人劝阻吕布,又劝吕布出战,吕布再次战败,退回城内固守。
曹操用荀攸、郭嘉之计,决泗、沂之水灌城。
十二月,吕布部将魏续、宋宪等生擒陈宫,归降曹操。
吕布见大势已去,下城投降。
曹操将吕布、陈宫、高顺等人处死,收降吕布部将张辽以及泰山豪杰臧霸、孙观等人,初步控制了徐州。
曹操将青、徐二州委托给臧霸等泰山诸将。
当初,曹操统领兖州时,任命东平人毕谌为别驾。
后来张邈叛乱,劫走毕谌的母亲、弟弟、妻小,曹操放任毕谌离去,对他说:“你的老母亲在张邈那里,你可以离开。”
毕谌叩头表示不会怀有二心,曹操十分赞赏他,并感动地流下了眼泪。
但是毕谌出去后,还是选择逃到张邈那里。
吕布败亡后,曹操生擒毕谌,众人为他担心。
曹操说:“作为人能孝顺他的亲人,不也会忠于他的君主吗!这正是我所需要的人。”
于是,任命他为鲁国相。
建安四年(199年)二月,曹操到达昌邑。
张杨的部将杨丑杀死张杨响应曹操,眭固又杀杨丑,率众屯射犬,联合袁绍。
曹操把司空之位让给太仆赵岐,朝廷不从。
朝廷因曹操讨吕布有功,为他增邑三千户,曹操固辞不受。
四月,曹操亲征河内,并派史涣、曹仁击杀眭固。
曹操渡河进围射犬,河内太守缪尚与张杨手下长史薛洪率众投降。
曹操取得河内郡,把势力范围扩张到黄河以北。
当初,曹操举魏种为孝廉。
兖州叛乱时,曹操说:“唯独魏种不会背叛我。”
结果,魏种叛逃。
曹操怒道:“你魏种只要没有南逃越地、北走胡地,我就一定不会放过你!”
取得射犬后,魏种被生擒。
曹操既往不咎,下令给魏种松绑,并任命他为河内太守,将河北之事委托给他。