袁术与袁绍交战,向公孙瓒求援。公孙瓒让刘备屯高唐,单经屯平原,陶谦也屯兵发干,以此进逼袁绍。曹操帮助袁绍击破陶谦诸军。[]
初平四年(公元193年)春天,袁术因粮道被刘表切断,引军进入陈留,屯兵封丘,黑山军及南匈奴於夫罗部都帮助袁术。袁术令部将刘详屯匡亭,曹操率兵攻打刘详,袁术带兵救援,双方激战,曹操大获全胜。袁术兵败,退守封丘,曹操率军包围,围势未成,袁术又逃往襄邑。曹操追到太寿,决开渠水灌城。袁术逃往宁陵,曹操再次追击,袁术只得逃往九江。
夏季,曹操回到定陶(今山东省菏泽市定陶区)。当时陶谦与阙宣共同举兵,攻取泰山的华、费二县,接着率军攻入兖州南部的任城。秋季,曹操率军征讨陶谦,进兵徐州,向东南扩展势力。攻克徐州十余城。曹操与陶谦大战于彭城,陶谦军败退,死亡的人数将近一万,泗水为之不流。(《后汉书》记载曹操“凡杀男女数十万人,鸡犬无余,泗水为之不流”[] )陶谦退守郯县,不敢出战。不久曹操军粮将尽,撤围回军。
兴平元年(公元194年)春天,曹操回到兖州。[] 当初,曹操的父亲曹嵩和弟弟曹德在前来曹操处途中,被陶谦派兵杀害,因此曹操志在东征。[] 夏季,曹操再征徐州,攻破五城,略地至东海,回军在郯县击破刘备、曹豹,又攻破襄贲,所过多所残戮。[] 东郡守备陈宫对曹操不满,于是与陈留太守张邈、张邈之弟张超、从事中郎许汜及王楷等同谋叛乱,迎吕布为兖州牧。当时只有鄄城(今山东省菏泽市鄄城)和东郡的范县(南范县)、东阿(今山东阳谷)两县尚在曹操掌握之中,分别由司马荀彧和寿张县令程昱、东郡太守夏侯惇等坚守,形势异常危急。曹操从徐州赶回,听说吕布屯于濮阳,遂进军围攻濮阳。二军相持百余日,蝗灾大起,双方停战,曹操军还鄄城。此时,曹操失去了兖州(治今山东省菏泽市郓城县西北),军粮已尽,袁绍派人来劝说想让曹操投靠他,让曹操举家迁到邺县当人质。曹操本打算答应,但被程昱劝阻。十月,曹操到达东阿。
兴平二年(公元195年)春,