187年,曹操得罪权贵,被降为东郡太守,于是称病辞官。冀州刺史王芬、南阳许攸、沛国周旌等人谋废灵帝,邀请曹操同反汉帝,曹操拒绝。
188年,曹操被任命为拱卫京师洛阳的西园典军校尉。
189年,董卓入朝专权,表曹操为骁骑校尉,曹操拒绝董卓拉拢,易名出关,中途被捕,后被释放,至陈留招揽义兵,准备讨伐董卓。十二月,曹操起兵于己吾县(今睢县东南),兵卒五千人。
190年正月,袁术、韩馥、孔伷、刘岱、王匡、袁绍、张邈、桥瑁、袁遗、鲍信响应号召同时起兵讨伐董卓,推袁绍为盟主,曹操任奋武将军。二月,董卓火烧洛阳、迁都长安。诸侯联军观望不前,唯曹操孤军奋战,败于董卓部将徐荣,曹操中箭伤,力战得脱。诸侯联军分崩离析后,曹操拒绝袁绍拉拢,开始独立发展势力。
191年,曹操引兵于东郡,大胜黑山贼白绕于濮阳(今河南濮阳西南),袁绍表曹操为东郡太守,治东武阳。
192年春,曹操剿灭黑山贼和匈奴于夫罗部。鲍信等人至东郡迎曹操领兖州牧,曹操进兵攻打黄巾于寿张(今山东省东平县西南)之东。冬,曹操收黄巾军降卒三十余万,号为青州兵。袁绍袁术兄弟不合,公孙瓒协助袁术,命刘备屯高唐,单经屯平原,陶谦屯发干,曹操与袁绍合力攻打三路军马,获全胜。
193年春,曹操屡胜袁术,袁术败走淮北,至夏,曹操还军定陶。秋,曹操军征讨陶谦,连续攻下十多座城池,陶谦守城不敢出战。
194年春,曹操父亲曹嵩被陶谦杀害,曹操欲报杀父之仇。夏,曹军进攻徐州,纵军屠杀数万人,攻拔襄贲(今江苏省涟水县)。吕布与张邈、陈宫等攻打曹操,曹军调头与吕布大战,不敌吕布骑兵,惨败,曹操被烧伤。曹军与吕布军对峙百日余,吕布军粮尽退兵。九月,曹操回军鄄城。十月,曹操军至东阿(今平阴县东阿镇),当年蝗灾频乱,军粮奇缺。
195年春,曹军袭取定陶。夏,曹操用伏兵之计大破吕布军,吕布投靠刘备。八月,曹操军围雍丘(今河南杞县)。十月,汉献帝拜曹操为兖州牧。十二月,攻破雍丘,张超自杀,曹操夷张邈三族。后张邈亦被杀,兖州平定,曹军东略陈地(淮阳等处)。
196年春正月,曹操军攻取武平。曹操遣曹洪西迎汉献帝,因兵乱未成。二月,曹操进军讨破汝南、颍川黄巾军何仪、刘辟、黄郡、保曼等,汉献帝拜曹操为建德将军。六月,汉献帝假曹操节钺,录尚书事。九月,汉献帝加封曹操为大将军,封武平侯。曹操迫使汉献帝迁都许(今河南许昌),开始挟天子以令诸侯,总揽朝廷军政大权。十月,曹操征讨杨奉。曹操让大将军与袁绍,自任司空,行车骑将军。曹操开始屯田。刘备军被吕布打败,曹操收纳刘备。
197年春正月,曹操攻打宛城,张绣投降,后又反悔,与曹军交战,曹军战败,曹操中流矢,长子曹昂、侄子曹安民战死。曹操引兵还舞阴(今河南泌阳西北),后击破张绣军,归还许都。袁术欲称帝,曹操出兵与袁术军交战大胜;后数遭刘表、张绣军侵袭。十一月,曹操亲自南征到宛城,胜刘表军,攻取湖阳、舞阴。
(湖阳、宛亦为今河南湖阳、宛)
198年春正月,曹操回军许,初置军师祭酒。(中、前、左、右军师等)三月,曹操军围张绣于穰(今河南邓县)。五月,刘表遣兵救张绣,曹军前后受敌,于是深夜凿险为地道,过辎重,设奇兵,大破张刘联军。吕布部将高顺打败刘备,九月,曹操亲征吕布。十月,曹军屠戮彭城(今徐州),围攻下邳(今徐州东)。曹操用荀攸、郭嘉计策,决泗、沂之水灌城,一月有余,下邳城破,曹操处死吕布、陈宫等人,收降臧霸等将。
199年四月,曹操进军临河(今内蒙古临河县),大破眭固等人。八月,曹操进军黎阳(今今河南浚县)。九月,曹操返回许都,分兵守官渡。十一月,张绣投降,被封为列侯。十二月,曹操兵发官渡。庐江太守刘勋率众降,封为列侯。刘备与董承等人密谋,背反曹操,曹军刘岱、王忠部攻打刘备失利。
200年春正月,董承等人暗中谋害曹操,失败后被处死。曹军东征刘备,获胜,刘备投奔袁绍,曹操收降关羽、俘获刘备家小,返回官渡。二月,袁绍派遣郭图、淳于琼、颜良等人攻打东郡太守刘延于白马,袁绍引兵亲至黎阳。四月,曹军北救刘延,从荀攸计策,于白马大胜袁绍军,斩杀颜良,解了白马之围。袁绍军渡河追击曹军,曹操在延津南用辎重诱敌的计策大破袁绍军,斩杀文丑,还军官渡,袁绍军进保阳武,关羽回归刘备阵营。八月,袁绍曹操联营数十里对峙,袁绍军进临官渡,起土山地道,曹操也做土山地道相应。孙策乘官渡战局动荡,意欲偷袭许都,未出兵即为刺客所杀。曹操用荀攸计,派徐晃、史涣焚毁袁绍运粮车队。十月,袁绍遣车运粮,派淳于琼等五将领兵万余人护送,宿袁绍营北四十里。袁绍谋臣许攸投奔曹操,献计烧粮。曹操自领步骑五千人夜袭淳于琼部,士卒皆殊死战,大破袁绍军,斩杀淳于琼等将。袁绍派遣张郃、高览攻打曹操大营,张、高二将闻听淳于琼部被击破,投降了曹操,袁绍军大败,袁绍与长子袁谭等人仓皇北逃。
201年五月,袁绍病死。九月,曹操征讨袁绍二子残部,袁谭、袁尚屡败退,固守不出。
203年三月,曹军大破袁谭、袁尚军。四月,曹操进军邺(今安阳)。五月,曹军回师许都,留贾信屯黎阳。八月,曹操征讨刘表。袁绍二子相斗,袁谭失利,投靠曹操。十月,曹军复北进,袁尚军挫败。
204年二月,曹军攻打邺城。五月,曹操决漳水灌城,城内大半人饿死。七月,曹军大破袁尚援军。八月,邺城告破,曹操斩杀审配,哭祭袁绍,善待袁绍家眷。九月,曹操免去河北赋税一年,汉献帝封曹操为冀州牧。十二月,曹操进军南皮,整顿地方局势。
205年正月,曹操军大破袁谭,袁谭战死,曹操平定冀州。四月,黑山贼张燕率兵卒十余万投降曹操,被封为列侯。八月,曹操征讨乌丸。
206年正月,曹操军围壶关征讨袁绍外甥高干,高干败走,后被杀。八月,曹操军东征海贼管承部,获胜。
207年操从郭嘉计,北征三郡乌丸。曹军受阻渤海滨,于是率军出卢龙塞(今河北喜峰口至冷口一带),进军柳城(今辽宁朝阳西南)。八月,登白狼山,乌桓之战曹操军大胜,斩杀乌桓王蹋顿,胡、汉降军二十多万。九月,公孙康杀死袁尚、袁熙,曹操统一北方。
208年曹操回到邺城,造玄武池操练水军。六月,曹操被封为丞相。七月,曹操南征刘表。八月,刘表病亡,幼子刘琮代位,屯居襄阳,刘备屯居樊城。九月,曹操军到新野,刘琮投降,刘备逃至夏口,曹操进军江陵。十二月,赤壁大战,曹操军不习水战,且瘟疫盛行,被孙权刘备联军大败于赤壁,被迫退军。
209年治水军,巩固自身势力、稳定北方政局,并设扬州郡县长吏,开芍陂屯田。
210年操作铜雀台。
211年,太原商曜等叛乱,曹操派遣夏侯渊、徐晃围破之。三月,曹操派钟繇讨伐张鲁。马超、韩遂举大军叛乱。曹操派曹仁讨伐,马超等人屯居潼关,曹操下令严守不出。七月,曹操西征迎战马超军,派徐晃、朱灵等夜渡蒲孤津,据河西为营。曹操自潼关北渡,马超截击曹军,曹操被校尉丁斐用饵敌之计救回。曹操军拒渭口,多设疑兵,暗中用舟载兵入渭,造浮桥,深夜分兵结营于渭南,马超夜里劫营,被曹操伏兵击破。马超等屯居渭南,向曹操求和,曹操不许。九月,曹操进军渡渭水,离间了马超和韩遂,大胜关西军,马超败走凉州。十月,曹操北征杨秋,围攻安定,杨秋投降。