初平二年(191年),黑山贼于毒、白绕、眭固等率十多万人攻打魏郡、东郡,东郡太守王肱不能抵御。
曹操引军入东郡,在濮阳击破白绕。
因此,袁绍表曹操为东郡太守,治所在东武阳。
初平三年(192年),曹操驻军顿丘,于毒等人攻打东武阳。
诸将建议曹操回军救援,曹操欲图趁机袭击敌军本屯,对诸将说:“孙膑救赵而攻魏,耿弇欲攻西安而攻临淄。让敌军知道我军西进而回撤,则东武阳之急自解。如果他们不回,我就能攻破他们的本屯,他们却必不能拿下东武阳。”
于是,曹操引兵西入山,攻打于毒等人的本屯。
于毒得知后,放弃攻打东武阳而回军。
曹操邀击眭固,又在内黄与匈奴於夫罗交战,皆大获全胜。
初平三年(192年),青州黄巾军大获发展,连破兖州郡县,阵斩兖州刺史刘岱。
济北国相鲍信与州吏万潜等人来到东郡迎曹操领兖州牧。
曹操和鲍信合军进攻黄巾,战于寿张之东,鲍信战死。
曹操“设奇伏,昼夜会战”,终于将黄巾击败。
当年冬天,他获得降卒三十余万,人口百余万。
曹操收其精锐,组成军队,号称青州兵。
这样,曹操又有了一支颇具战斗力的军队。
同时,袁术与袁绍交战,向公孙瓒求援。
公孙瓒让刘备屯高唐,单经屯平原,陶谦也屯兵发干,以此进逼袁绍。
曹操帮助袁绍击破陶谦诸军。
初平四年(193年)春天,袁术因粮道被刘表切断,引军进入陈留,屯兵封丘,黑山军及南匈奴於夫罗部都帮助袁术。
袁术令部将刘详屯匡亭,曹操率兵攻打刘详,袁术带兵救援,双方激战,曹操大获全胜。
袁术兵败,退守封丘,曹操率军包围,围势未成,袁术又逃往襄邑。
曹操追到太寿,决开渠水灌城。
袁术逃往宁陵,曹操再次追击,袁术只得逃往九江。
夏季,曹操回到定陶。
当时,陶谦与阙宣共同举兵,攻取泰山的华、费二县,接着率军攻入兖州南部的任城。
秋季,曹操率军征讨陶谦,进兵徐州,向东南扩展势力,攻克徐州十余城。
曹操与陶谦大战于彭城,陶谦军败退,死亡的人数将近一万,泗水为之不流。
陶谦退守郯县,不敢出战。
不久,曹操军粮将尽,撤围回军。
兴平元年(194年)春天,曹操回到兖州。
当初,曹操的父亲曹嵩和弟弟曹德在前来曹操处途中,被陶谦派兵杀害,因此曹操志在东征。
夏季,曹操再征徐州,攻破五城,略地至东海,回军在郯县击破刘备、曹豹,又攻破襄贲,所过之处多所残戮。
东郡守备陈宫对曹操不满,于是与陈留太守张邈、张邈之弟张超、从事中郎许汜及王楷等同谋叛乱,迎吕布为兖州牧。
当时,只有鄄城和东郡的范县、东阿两县尚在曹操掌握之中,分别由司马荀彧和寿张县令程昱、东郡太守夏侯惇等坚守,形势异常危急。
曹操从徐州赶回,听说吕布屯于濮阳,遂进军围攻濮阳。
二军相持百余日,蝗灾大起,双方停战,曹操军还鄄城。
此时,曹操失去了兖州,军粮已尽。
袁绍派人来劝说,想让曹操投靠他,让曹操举家迁到邺县当人质。
曹操本打算答应,但被程昱劝阻。
十月,曹操到达东阿。
兴平二年(195年)春,曹操袭击定陶,济阴太守吴资保守南城,曹操攻之不下。
吕布率军前来,曹操将他击败。
夏季,曹操攻击巨野,吕布率军救援巨野。
曹操击破吕布军,斩杀屯驻巨野的薛兰等人,吕布会合陈宫率领一万多人从东缗赶来。
此时,曹操士兵大多数都外出收麦了,留下的不足一千,营垒也不坚固。
曹操命妇人守于城上,士兵拒守吕布。