曹操之前历任国相皆置之不问,曹操到职,大力整饬,一下奏免十分之八的长吏,济南震动,贪官污吏纷纷逃窜,“政教大行,一郡清平”。
当时正是东汉政治极度黑暗之时,甚至有了买官制度。朝廷征其为东郡太守,拜为议郎,曹操不肯迎合权贵,遂托病回归乡里,春夏读书,秋冬弋猎,暂时隐居了。
当时天下纷乱,先是发生了冀州刺史王芬联合南阳许攸、沛国周旌等地方豪强,谋划废黜灵帝立合肥侯的事件。
王芬等人曾希望曹操加入他们,但被曹操拒绝,后来王芬事败自杀。接着,又有西北金城郡(今兰州)的边章、韩遂杀死刺史和太守,率兵十余万反叛朝廷。
中平五年(188年),汉灵帝为巩固统治,设置西园八校尉,曹操因其家世被任命为八校尉中的典军校尉。
中平六年(189年),汉灵帝驾崩,太子刘辩登基,何太后临朝听政。大将军何进想趁灵帝驾崩、宦官失势之机诛灭十常侍,但没有取得何太后的支持。
于是何进便召时任并州牧的董卓进京,胁迫何太后同意。然而此举打草惊蛇,董卓尚未抵达京城,何进已被宦官下手谋杀。
同年九月,董卓入京,执掌朝政,把汉少帝废为弘农王,而改立其弟陈留王为汉献帝,又派人把弘农王母子毒死,自称太师,专擅朝政。
曹操见董卓倒行逆施,不愿与其合作,遂改易姓名逃出京师洛阳(今洛阳东)。曹操到陈留后,“散家财,合义兵”,且首倡义兵号召天下英雄讨伐董卓。
初平元年(190年)正月,袁术等人共推渤海太守袁绍为盟主,曹操任代理奋武将军,参加讨董军。
二月,被联军击败的董卓胁迫献帝迁都长安(今陕西西安西北),自己则焚毁宫室,挖开王陵,劫掠人民,致使洛阳方圆200里荒芜凋敝无复人烟。
而关东联军惧怕董卓精锐的凉州军的战力,无人敢向关西推进,全都屯兵酸枣(今延津北)一带。而曹操认为董卓“焚烧宫室,劫迁天子,海内震动”,应趁机与之决战,遂独自引军西进。
曹操行至荥阳汴水(今荥阳西南),与董卓大将徐荣交锋,因为士兵数量悬殊,曹操大败,士卒死伤大半,自己也被流矢所伤,幸得堂弟曹洪所救,幸免于难。
回至酸枣,曹操建议诸军各据要地,再分兵西入武关(今陕西丹凤东南),围困董卓,关东诸将不肯从。关东诸军名为讨董卓,实际各自心怀鬼胎,意在伺机发展自己势力。
不久,诸军之间发生摩擦,相互火拼,联合军至此解散。
初平二年(191年),曹操在东郡大败于毒、白绕、眭固、於扶罗等,袁绍表其为东郡太守。
初平三年(192年),青州黄巾军大获发展,连破兖州(治昌邑,今山东巨野东南)郡县,阵斩兖州刺史刘岱。
济北相鲍信等人迎曹操出任兖州牧,曹操和鲍信合军进攻黄巾,鲍信战死。曹操“设奇伏,昼夜会战”,终于将黄巾击败。
当年冬天,获降卒三十余万,人口百余万。曹操收其精锐,组成军队,号青州兵。又助袁绍打败刘备、单经及陶谦诸军。
初平四年(193年)春天,曹操在匡亭六百里大追击大败袁术、黑山军、南匈奴。徐州牧陶谦率军攻入兖州南部的任城,曹操率军征讨陶谦攻克徐州十余城。
初平四年(193年)秋天,曹操的父亲曹嵩来曹操处路上,被陶谦派兵杀害,曹操遂进兵徐州(治郯,今山东郯城),向东南扩展势力。
陶谦退守郯县,不久曹操军粮将尽,撤围回军。次年夏,曹操再征徐州,略地至东海。
曹操征徐州期间,所过大肆杀戮,一路上“鸡犬亦尽,墟邑无复行人”。这时,东郡守备陈宫对曹操不满,于是与陈留太守张邈、张邈之弟张超、从事中郎许汜及王楷等同谋叛乱,迎吕布为兖州牧。
吕布为当时名将,先为董卓部将,后与王允定计诛杀董卓。一番征战之后,当时只有鄄城(今山东鄄城)和东郡的范(南范县)、东阿(今山东阳谷)两县尚在曹操掌握之中,分别由司马荀和寿张令程昱、东郡太守夏侯等坚守,形势异常危急。
曹操从徐州赶回,听说吕布屯于濮阳,遂进军围攻濮阳。二军相持百余日,蝗灾大起,双方停战,曹操军还鄄城。
此时,曹操失去了兖州(治今山东郓城西北),军粮已尽,袁绍派人来劝说想让曹操投靠他,让曹操举家迁到邺县当人质。
曹操本打算答应袁绍,多亏程昱劝阻,曹操才打消这个念头。兴平二年(195年),曹操整军再战吕布,三败之,破定陶(今山东定陶)、廪丘(今山东郓城西北)等,平定兖州。
吕布逃往徐州投靠刘备,七月,因李、郭汜的火拼,汉献帝从长安东归,下诏让各路诸侯勤王。
建安元年(196年)八月,曹操迎汉献帝。辛亥,汉献帝封曹操为司隶校尉,录尚书事。庚申,迁都许昌。十一月丙戌,汉献帝封曹操为司空,行车骑将军事,百官总己以听。
建安二年(197年)正月,曹操讨伐张绣,军队驻扎在水,张绣举众投降,旋即复叛,长子曹昂、侄子曹安民、猛将典韦战死。
此后,曹操又两度攻击张绣,都没有彻底击破。九月,曹操东征袁术,袁术弃军而逃至淮河,枭袁术留守四将。
建安三年(198年)四月,曹操遣谒者裴茂率