兴平二年(195年),曹操重振旗鼓,再战吕布,三战三捷,破定陶、廪丘等城,彻底平定兖州。
七月,因李傕、郭汜的火拼,汉献帝从长安东归,并下诏让各路诸侯勤王。
十月,献帝正式拜曹操为兖州牧。
建安元年(196年)二月,曹操讨平汝南、颍川一带的黄巾军何仪、刘辟等部,汉献帝封曹操为建德将军。(此战过后刘辟遁入山林,直到归降吕岱。)
六月,因为曹操谋士董昭的劝说,献帝身边的杨奉等人上表,拜曹操为镇东将军,袭父费亭侯爵位。
此时,曹操想迎接献帝,其谋臣大多认为山东尚未平定,献帝身边的韩暹、杨奉等又骄横难制,所以不赞成迎接献帝。但荀彧、韦孝宽等人却极力支持,于是曹操就派曹洪率兵迎接汉献帝,但被卫将军董承与袁术的将领苌奴据险阻止。
七月,献帝回到洛阳,董承为牵制韩暹等跋扈将领,又密召曹操来洛阳。
八月,曹操来到洛阳,奏明韩暹、张杨之罪,韩暹逃奔杨奉,又因为护驾之功被献帝特赦。于是,曹操杀了侍中台崇、尚书冯硕、议郎侯祈,封董承等十三人为列侯,曹操本人亦领司隶校尉、录尚书事。
随后,曹操听从谋士董昭的建议,于九月迁献帝于许县,被封为大将军、武平侯。杨奉对曹操迁许之举非常不满,打算拦路截击,结果失败。
十月,曹操讨平杨奉。
十一月,曹操出任司空,行车骑将军事,总揽大权。
自此,曹操挟天子以令诸侯,奉天子以讨不臣,又全据兖豫司三州,麾下又得到了诸如关羽、徐晃、羊侃等猛将的效力,隐隐约约已经成为了天下第一诸侯!
建安二年(197年)正月,曹操讨伐张绣,军队驻扎在淯水,张绣举众投降,旋即复叛,曹操的长子曹昂、侄子曹安民、猛将典韦在此战中战死。
此后,曹操又两度攻击张绣,都没有彻底击破。
九月,曹操东征袁术,袁术不敌,丢下大军,逃至淮河。
建安三年(198年)四月,曹操遣谒者裴茂率中郎将段煨讨平李傕,夷其三族。
九月,曹操东征徐州,进攻一直与他为敌的吕布。
此战,曹操麾下关羽、萧摩柯、羊侃、薛安都、许褚五大猛将围攻吕布。
吕布不敌,因此大败,率领残兵退守下坯。
而在曹军攻势之下,吕布军上下离心,
十二月,吕布的部将魏续、宋宪等生擒陈宫,归降曹操。
吕布见大势已去,便下城投降。
曹操将吕布、陈宫、高顺等人处死,收降吕布部将张辽以及泰山豪杰臧霸、孙观等人,从此控制了徐州。