韩暹逃奔杨奉,因护驾之功被献帝特赦。
于是,曹操杀了侍中台崇、尚书冯硕、议郎侯祈,封董承等十三人为列侯,曹操本人亦领司隶校尉、录尚书事。
随后,曹操听从董昭建议,于九月迁献帝于许县,他本人被封为大将军,进封武平侯。
杨奉对迁许之举非常不满,打算拦路截击,结果失败。
十月,曹操讨平杨奉。
十一月,曹操升任司空,行车骑将军事,总揽朝政。
这一年,曹操听从枣祗、韩浩等人的建议,开始实行屯田制。
刘备遭到吕布袭击,投奔曹操。
程昱劝道:“依我看刘备有雄才大略,又深得民心,不会久居人下,不如趁早除掉他。”
曹操回答:“如今正是招揽贤才之时,为杀一人而失天下人心,不可。”
建安二年(197年)正月,曹操讨伐割据宛城的张绣,驻军淯水。
张绣举众投降,旋即复叛,曹操长子曹昂、侄子曹安民、猛将典韦战死。
曹操引兵退还舞阴,张绣派兵来攻,被曹操击退。
张绣奔往穰城,与刘表联合。
曹操对诸将说:“我收降张绣等人,却犯了没有立即扣押人质的错误,所以遭到了失败。我明白了失败的原因,请大家看着,从今以后我不会再失败了。”
之后,回到许县。
割据淮南的袁术僭号,吕布把他的使者送到许县,袁术怒而进攻吕布,结果为吕布所破。
九月,袁术侵略陈国,曹操闻讯亲自东征袁术。
袁术得知曹操亲自来,便弃军而逃,留桥蕤等四将镇守。
曹操到后,斩杀桥蕤等将。
袁术渡淮而走,曹操也回到许县。
十一月,曹操南征荆州,到达宛城。
刘表部将邓济据湖阳,曹操生擒邓济,湖阳也投降。
之后,曹操又攻下了舞阴。
建安三年(198年)正月,曹操回到许县。
三月,曹操再次南征,围攻张绣于穰城。
四月,曹操所遣的谒者裴茂率中郎将段煨讨李傕,夷三族。
五月,刘表派兵救援张绣,并打算截断曹操后路。
曹操引军退还,张绣追击,曹操军无法前行。
于是,结成连营,得以慢慢前进。
曹操写信给荀彧说:“贼军紧追我军,虽然我军日行数里,但我算好了,到安众县时,一定能打败张绣。”
到了安众县,张绣和刘表联军守在险要地方,曹操军前后受敌。
于是,曹操派人趁天黑在险要处挖凿一条地道,把辎重物资全部偷运过去,又设下伏兵。
天明时,张绣军认为曹操已逃走,全军追赶。
曹操便派出步兵、骑兵两面夹攻,把贼军打得大败。
七月,曹操回到许都。
荀彧问曹操:“之前您料定一定会打败敌军,这是为什么?”
曹操回答:“敌人阻止我回归的部队,与我军死地战,我由此而知一定会胜利。”
九月,曹操东征徐州,进攻久与他为敌的吕布。
十月,曹操破彭城,擒获吕布的彭城相侯谐。
曹操进军下邳,吕布亲自率骑兵逆击,曹操大破吕布,擒获他的部将成廉,并追击到下邳城下。
吕布欲图投降,陈宫等人劝阻吕布,又劝吕布出战,吕布再次战败,退回城内固守。
曹操用荀攸、郭嘉之计,决泗、沂之水灌城。
十二月,吕布部将魏续、宋宪等生擒陈宫,归降曹操。
吕布见大势已去,下城投降。
曹操将吕布、陈宫、高顺等人处死,收降吕布部将张辽以及泰山豪杰臧霸、孙观等人,初步控制了徐州。
曹操将青、徐二州委托给臧霸等泰山诸将。
当初,曹操统领兖州时,任命东平人毕谌为别驾。
后来张邈叛乱,劫走毕谌的母亲、弟弟、妻小,曹操放任毕谌离去,对他说:“你的老母亲在张邈那里,你可以离开。”
毕谌叩头表示不会怀有二心,曹操十分赞赏他,并感动地流下了眼泪。
但是毕谌出去后,还是选择逃到张邈那里。
吕布败亡后,曹操生擒毕谌,众人为他担心。
曹操说:“作为人能孝顺他的亲人,不也会忠于他的君主吗!这正是我所需要的人。”
于是,任命他为鲁国相。
建安四年(199年)二月,曹操到达昌邑。
张杨的部将杨丑杀死张杨响应曹操,眭固又杀杨丑,率众屯射犬,联合袁绍。
曹操把司空之位让给太仆赵岐,朝廷不从。
朝廷因曹操讨吕布有功,为他增邑三千户,曹操固辞不受。
四月,曹操亲征河内,并派史涣、曹仁击杀眭固。
曹操渡河进围射犬,河内太守缪尚与张杨手下长史薛洪率众投降。
曹操取得河内郡,把势力范围扩张到黄河以北。
当初,曹操举魏种为孝廉。
兖州叛乱时,曹操说:“唯独魏种不会背叛我。”
结果,魏种叛逃。
曹操怒道:“你魏种只要没有南逃越地、北走胡地,我就一定不会放过你!”
取得射犬后,魏种被生擒。
曹操既往不咎,下令给魏种松绑,并任命他为河内太守,将河北之事委托给他。