黑山賊於毒、白繞等十餘萬人搶掠魏郡、東郡,王肱(ɡōnɡ)不能抵禦。曹操率軍進入東郡,在濮(pú)陽攻打白繞,擊敗了他。袁紹因此上表推薦曹操做東郡太守,治所在東武陽。

三年春季,曹操駐軍頓丘,於毒等攻打東武陽。曹操於是率兵向西進入山嶇,攻打於毒的大本營。於毒聽到這消息,放棄武陽回軍,曹操中途截擊眭(suī)固,又在內黃攻擊匈奴首領於夫羅,都大敗了他們。

青州黃巾軍百萬人進入兗州,殺了任城相鄭遂,移軍進入東平。曹操率軍追擊黃巾軍直到濟北。黃巾軍乞求投降。冬季,接受投降過來的士兵三十餘萬人,男女一百餘萬口,收編其中的精銳士兵,號稱“青州兵”。

擊袁術滅呂布

袁術與袁紹有隔閡隔閡(hé):彼此情意不通,思想有距離。,袁術向公孫瓚(zàn)求援,公孫瓚派劉備駐守高唐,單(shàn)經駐守平原,陶謙駐守發幹,以此來逼迫袁紹。曹操和袁紹聯合攻擊,都打敗了他們。

四年春季,曹操駐軍鄄(juàn)城。荊州牧劉表切斷袁術運糧的通道,袁術率軍進人陳留郡,駐守封丘縣,黑山軍的殘部和於夫羅等輔佐他。袁術派部將劉詳駐守匡亭。曹操攻擊劉詳,袁術救援他,曹操與袁術交戰,把他打得大敗。袁術退守封丘,曹操就包圍封丘,尚未合圍。袁術向襄邑逃跑,逃到太壽,曹操挖開渠水灌城。袁術逃到寧陵,曹操又追到寧陵,袁術逃到九江。夏季,曹操回軍定陶。

這年,孫策接受袁術派遣渡過長江,幾年間,就占有了江東。

興平元年春季,曹操從徐州回來。當初,曹操的父親曹嵩(sōnɡ)辭退官職之後回到譙縣,董卓之亂時,到琅琊(lánɡyá)避難,被陶謙殺害,所以曹操誌在複仇,向東討伐。夏季,派荀彧(yù)、程昱(yù)駐守鄄城,再次征討陶謙,攻占了五座城邑,最後占領了直到東海的地區。回來經過郯(tán)縣時,陶謙的部將曹豹和劉備在郯縣的東部駐守,中途截擊曹操。曹操打敗了他們,終於攻占了襄賁(bēn),所經過的地方大多遭到破壞、屠殺。

恰逢張邈和陳宮反叛,迎接呂布,各郡縣都響應。苟彧、程昱保衛鄄城,範縣東阿二縣牢固地防守,曹操就領兵回來。呂布來到,攻打鄄城未能攻下,駐紮在西麵的濮(pú)陽。曹操說:“呂布一天就攻占一個州,卻不能占據東平,切斷亢父、泰山的通道,憑借險要之地中途截擊我,反而駐守濮陽,我判斷他不能有所作為。”於是進軍攻打呂布。呂布出兵迎戰,先用騎兵衝擊青州兵。青州兵逃跑,曹操的兵陣混亂,曹操馳馬從火海中衝出,從馬上摔下來。燒傷了左手掌。司馬樓攙扶著曹操上馬,才帶著他離開。他們未到軍營就停下來,各將領沒有見到曹操,都擔心害怕。將領們沒想到曹操自己支撐著去慰勞軍隊,命令軍隊趕緊準備進攻的器械,再次進攻呂布。曹操跟呂布僵持了一百多天。這時發生了蝗蟲災害,百姓遭受大饑餓,呂布的糧食也吃光了,各自撤軍離開。

秋季九月,曹操回到鄄城。呂布到達乘氏縣,被他的同縣人李進所打敗,往東到山陽縣駐守。這時,袁紹派人勸說曹操,想聯絡和好。曹操新近丟掉了兗州,軍糧吃光,準備答應他。程昱勸阻曹操,曹操聽從他的意見,冬季十月,曹操到了東縣。

二年春季,曹操襲擊定陶。濟陰太守吳資守衛南城,沒有攻下。恰逢呂布來到,曹操又打敗了他。夏季,呂布部將薛蘭、李封在巨野駐守,曹操攻擊他,呂布援救薛蘭,薛蘭戰敗,呂布逃跑,終於斬了薛蘭等人。呂布又從東緡(mín)和陳宮帶領一萬多士兵前來交戰,當時曹操士兵少,便設下埋伏,出奇兵襲擊,大敗呂布。呂布夜裏逃跑,曹操再次進攻。攻下了定陶,分兵平定了各縣。呂布向東投奔劉備,張邈跟從著呂布,派他的弟弟張超帶領家屬保守雍丘。秋季八月,曹操圍攻雍丘。冬季十月,漢獻帝任命曹操為兗州牧。十二月,雍丘被攻陷,張超自殺。曹操滅了張邈三族。張邈到袁術那裏請求救兵,被他的部下所殺。兗州平定,曹操就向東攻取陳國地區。

這年,長安騷亂,漢獻帝往東遷徙(xǐ),在曹陽戰敗,皇帝渡過黃河逃到安邑。

建安元年春季正月,曹操的軍隊到達武平,袁術安排的陳國國相袁嗣投降。

汝南、穎川郡的黃巾軍何儀、劉辟、黃邵(shào)等部,各有數萬人,起初響應袁術,又依附孫堅。二月,曹操進軍討伐,打敗了他們,斬了劉辟、黃邵等,何儀和他的部下全部投降。皇帝任命曹操為建德將軍。夏季六月,升為鎮東將軍,封為費亭侯。秋季七月,揚奉、韓暹(xiān)偷偷逃跑了。漢獻帝授予曹操符節、黃鉞(yuè)總領尚書事。洛陽殘破,董昭等勸說曹操把都城遷到許縣。九月,漢獻帝遷往東麵的許縣,任命曹操做大將軍,封為武平侯。自從皇帝往西遷都長安,朝廷一天比一天混亂,到這時宗廟、社稷製度才建立。