興平二年195年),曹操重振旗鼓,再戰呂布,三戰三捷,破定陶、廩丘等城,徹底平定兗州。
七月,因李傕、郭汜的火拼,漢獻帝從長安東歸,並下詔讓各路諸侯勤王。
十月,獻帝正式拜曹操為兗州牧。
建安元年196年)二月,曹操討平汝南、潁川一帶的黃巾軍何儀、劉闢等部,漢獻帝封曹操為建德將軍。此戰過後劉闢遁入山林,直到歸降呂岱。)
六月,因為曹操謀士董昭的勸說,獻帝身邊的楊奉等人上表,拜曹操為鎮東將軍,襲父費亭侯爵位。
此時,曹操想迎接獻帝,其謀臣大多認為山東尚未平定,獻帝身邊的韓暹、楊奉等又驕橫難制,所以不贊成迎接獻帝。但荀彧、韋孝寬等人卻極力支援,於是曹操就派曹洪率兵迎接漢獻帝,但被衛將軍董承與袁術的將領萇奴據險阻止。
七月,獻帝回到洛陽,董承為牽制韓暹等跋扈將領,又密召曹操來洛陽。
八月,曹操來到洛陽,奏明韓暹、張楊之罪,韓暹逃奔楊奉,又因為護駕之功被獻帝特赦。於是,曹操殺了侍中臺崇、尚書馮碩、議郎侯祈,封董承等十三人為列侯,曹操本人亦領司隸校尉、錄尚書事。
隨後,曹操聽從謀士董昭的建議,於九月遷獻帝於許縣,被封為大將軍、武平侯。楊奉對曹操遷許之舉非常不滿,打算攔路截擊,結果失敗。
十月,曹操討平楊奉。
十一月,曹操出任司空,行車騎將軍事,總攬大權。
自此,曹操挾天子以令諸侯,奉天子以討不臣,又全據兗豫司三州,麾下又得到了諸如關羽、徐晃、羊侃等猛將的效力,隱隱約約已經成為了天下第一諸侯!
建安二年197年)正月,曹操討伐張繡,軍隊駐紮在淯水,張繡舉眾投降,旋即復叛,曹操的長子曹昂、侄子曹安民、猛將典韋在此戰中戰死。
此後,曹操又兩度攻擊張繡,都沒有徹底擊破。
九月,曹操東征袁術,袁術不敵,丟下大軍,逃至淮河。
建安三年198年)四月,曹操遣謁者裴茂率中郎將段煨討平李傕,夷其三族。
九月,曹操東征徐州,進攻一直與他為敵的呂布。
此戰,曹操麾下關羽、蕭摩柯、羊侃、薛安都、許褚五大猛將圍攻呂布。
呂布不敵,因此大敗,率領殘兵退守下坯。
而在曹軍攻勢之下,呂布軍上下離心,
十二月,呂布的部將魏續、宋憲等生擒陳宮,歸降曹操。
呂布見大勢已去,便下城投降。
曹操將呂布、陳宮、高順等人處死,收降呂布部將張遼以及泰山豪傑臧霸、孫觀等人,從此控制了徐州。