韓暹逃奔楊奉,因護駕之功被獻帝特赦。
於是,曹操殺了侍中臺崇、尚書馮碩、議郎侯祈,封董承等十三人為列侯,曹操本人亦領司隸校尉、錄尚書事。
隨後,曹操聽從董昭建議,於九月遷獻帝於許縣,他本人被封為大將軍,進封武平侯。
楊奉對遷許之舉非常不滿,打算攔路截擊,結果失敗。
十月,曹操討平楊奉。
十一月,曹操升任司空,行車騎將軍事,總攬朝政。
這一年,曹操聽從棗祗、韓浩等人的建議,開始實行屯田制。
劉備遭到呂布襲擊,投奔曹操。
程昱勸道:“依我看劉備有雄才大略,又深得民心,不會久居人下,不如趁早除掉他。”
曹操回答:“如今正是招攬賢才之時,為殺一人而失天下人心,不可。”
建安二年197年)正月,曹操討伐割據宛城的張繡,駐軍淯水。
張繡舉眾投降,旋即復叛,曹操長子曹昂、侄子曹安民、猛將典韋戰死。
曹操引兵退還舞陰,張繡派兵來攻,被曹操擊退。
張繡奔往穰城,與劉表聯合。
曹操對諸將說:“我收降張繡等人,卻犯了沒有立即扣押人質的錯誤,所以遭到了失敗。我明白了失敗的原因,請大家看著,從今以後我不會再失敗了。”
之後,回到許縣。
割據淮南的袁術僭號,呂布把他的使者送到許縣,袁術怒而進攻呂布,結果為呂布所破。
九月,袁術侵略陳國,曹操聞訊親自東征袁術。
袁術得知曹操親自來,便棄軍而逃,留橋蕤等四將鎮守。
曹操到後,斬殺橋蕤等將。
袁術渡淮而走,曹操也回到許縣。
十一月,曹操南征荊州,到達宛城。
劉表部將鄧濟據湖陽,曹操生擒鄧濟,湖陽也投降。
之後,曹操又攻下了舞陰。
建安三年198年)正月,曹操回到許縣。
三月,曹操再次南征,圍攻張繡於穰城。
四月,曹操所遣的謁者裴茂率中郎將段煨討李傕,夷三族。
五月,劉表派兵救援張繡,並打算截斷曹操後路。
曹操引軍退還,張繡追擊,曹操軍無法前行。
於是,結成連營,得以慢慢前進。
曹操寫信給荀彧說:“賊軍緊追我軍,雖然我軍日行數里,但我算好了,到安眾縣時,一定能打敗張繡。”
到了安眾縣,張繡和劉表聯軍守在險要地方,曹操軍前後受敵。
於是,曹操派人趁天黑在險要處挖鑿一條地道,把輜重物資全部偷運過去,又設下伏兵。
天明時,張繡軍認為曹操已逃走,全軍追趕。
曹操便派出步兵、騎兵兩面夾攻,把賊軍打得大敗。