建安八年春季三月,曹操攻打袁譚的外城,袁軍這才出來交戰,曹操攻擊袁軍,把他們打得大敗。袁譚、袁尚只能連夜逃走。

夏季四月,曹操的軍隊進駐鄴城。五月,軍隊回到許縣,留下賈信駐守黎陽。

已酉日,曹操下令說:“《司馬法》有‘將軍因為退卻而被處死’的說法,所以趙括的母親請求不要因趙括的戰敗而受牽連。這是由於古代將領在外面打了敗仗,自已的家人就要在國內被治罪。自從我委派將領出徵以來,只獎賞有功的而不懲罰有罪的,這不符合國家的典章。現在命令各位將領出徵時,作戰失敗的要依法治罪,作戰不利的免去官職與爵位。”

秋季七月,曹操下令說:“戰亂以來,已經十五年了,年輕人沒有見到仁義禮讓的風氣,為此我十分擔憂。現在命令各郡國提倡文化教育,滿五百戶人口的縣要設定學校和學官,挑選當地的優秀人才來教育年輕人,這樣大概古代聖王的治國之道才不會荒廢,並且有益於天下。”

八月,曹操征討劉表,駐紮在西平。曹操離開鄴城向南進發時,袁譚、袁尚內訌爭奪冀州,袁譚被袁尚打敗,逃到平原駐守。袁尚加緊攻打他,袁譚派辛毗前來投降於曹操並請求支援。眾將領都懷疑袁譚,只有苟攸勸說曹操答應,於是曹操便領兵回去。

冬季十月,曹操到達黎陽,讓兒子曹整與袁譚家聯姻。袁尚聽說曹操北上,就停止對平原的進攻,回到鄴城。東平人呂曠、呂翔背叛了袁尚,駐紮在陽平,率領部下投降於曹操,被封為列侯。

建安九年春季正月,曹操渡過黃河,堵住了淇水,讓河水流入白溝,來打通運糧的道路。

二月,袁尚又去攻打袁譚,留下蘇由、審配守衛鄴城。曹操進軍至洹水,蘇由投降了。抵達之後,曹操發兵攻打鄴城,修築了土山、地道。武安縣令尹楷駐紮在毛城,保證上黨的糧道暢通。

夏季四月,曹操留下曹洪攻打鄴城,自已率領士兵攻打尹楷,把他打垮以後才回來。袁尚的部將沮鵠守衛邯鄲,曹操又攻克了邯鄲。易陽縣令韓範、涉縣令梁岐獻出本縣投降,被賜予關內侯的爵位。

五月,曹操拆毀了土山、地道,修建了圍城的深溝,掘開漳水堤壩灌城,城內超過一半的人餓死。

秋季七月,袁尚回來援救鄴城,眾將領都認為“這是迴歸大本營的軍隊,他們為保家而戰,不如避開他們”。曹操說:“袁尚從大路回來,我們應當避開他們;如果他沿著西山過來,這就要被我們擒獲了。”袁尚果然沿著西山回來,到滏水邊紮營。袁尚在夜裡派兵侵擾曹操的包圍圈,曹操迎擊,打退了他們,最後包圍了袁尚的營壘。

還沒有合圍時,袁尚就害怕了,派遣前豫州刺史陰夔和陳琳前來請求投降,曹操不答應,對袁尚的圍攻更加猛烈。袁尚在夜裡逃跑,退保祁山,曹操立即追擊。袁尚的部將馬延、張等人臨陣投降,部眾大潰敗,袁尚逃往中山。曹操獲得了袁尚的全部輜重,得到了袁尚的印璽、符節、斧鉞,讓袁尚投降的部下拿給他們的家人看,城內人一看瞬間絕望,人心渙散。

八月,審配的侄子審榮夜裡開啟他守衛的鄴城東門放進曹操軍隊。審配迎戰,戰敗。曹操活捉了審配,審配寧死不降,曹操只得將其斬首。

鄴城平定後曹操到袁紹的墓前祭祀,痛哭流涕,慰問了袁紹的妻子,把袁紹家裡人的財物還給他們,還賜給他們雜色布帛與絲絮,由官府倉庫供給他們糧食。

當初,袁紹與曹操共同起兵。袁紹問曹操說:“如果大事沒有成功,那麼哪個地區可以佔據?”曹操反問:“您的想法是怎樣的?”袁紹說:“我在南面依據黃河,北面有燕、代地區的險阻,再加上戎狄的部眾,向南來爭奪天下,差不多可以成功吧?”曹操也沒遮掩:“我任用天下的才智與勇力之士,以道義去指揮他們,沒有辦不到的事。”

九月,曹操下令說:“河北人民蒙受了袁氏帶來的災難,他們不用交納今年的租賦。”制定加重懲罰豪強兼併土地的法律,百姓們很高興。皇帝任命曹操為冀州牧,曹操讓出了兗州牧的職務。

曹操圍攻鄴城的時候,袁譚奪取了甘陵、安平、渤海、河間等地。袁尚被打敗後,退回中山。袁譚去攻打他,袁尚又逃到故安,袁譚就吞併了袁尚的軍隊。曹操給袁譚寫信,責備他違反了哲約,和他斷絕婚約,把袁譚的女兒送了回去,然後進兵攻打袁譚。袁譚這時知道害怕了,從平原退守南皮。十二月,曹操進入平原,平定周邊各縣。

建安十年春季正月,曹操攻打袁譚,打敗了他,將他斬首,並殺死了他的妻子兒女,冀州從而平定。

曹操下令說:“那些與袁氏一起作惡的人,給他們一個改過自新的機會。”曹操又命令百姓不可以私自復仇,禁止厚葬的風氣,全都用法律統一治理。這月,袁熙的大將焦觸、張南等人叛變並攻打袁熙、袁尚,袁熙、袁尚兄弟二人逃到三郡烏丸人那裡。

焦觸等人獻出所在的縣城投降,被封為列候。最初征討袁譚時,有些被徵用鑿冰的百姓逃跑了,曹操命令不許接受這些人投降。不久,有個逃亡的平民到軍營門口來自首。曹操說:“接受你投降,就是違反命令。殺了你就等於懲罰自首的人。你回去藏到深山裡,不要讓官吏們捉到。”這個平民哭著離開了,最終還是被官府捕獲。

夏季四月,黑山黃巾賊張燕率領他的部眾十幾萬人投降,被封為列侯。故安人趙犢、霍奴等人殺死了幽州刺史和涿郡太守。三郡烏丸人在紛平攻打鮮于輔。

秋季八月,曹操征討他們,將趙犢等人斬首,於是渡河去援救獷平,烏丸人逃到塞外。

九月,曹操下令說:“結黨營私,是古代聖賢所痛恨的。我聽說冀州地方的風俗,父親與兒子各自與人結成一幫,相互詆譭,自我吹捧。過去直不疑沒有兄長,世人卻說他與嫂子私通;第五伯魚三次迎娶孤女,人們卻說他毆打岳父;王鳳獨霸大權,谷永卻把他比喻成申伯;王商忠誠地為朝廷謀劃,張匡卻說他是旁門左道。這些全都是顛倒黑白,欺騙上天與君主的做法。我想要端正社會風氣和習俗,這四種弊端不消除,我將以此為恥辱。”

冬季十月,曹操回到鄴城。

當初,袁紹讓外甥高斡做幷州牧,曹操奪取鄴城,高幹投降,就讓他做了刺史。高幹聽說曹操去討伐烏丸,趁機在幷州叛亂,抓住了上黨太守,發兵守住壺關口,曹操派出樂進、李典去攻打他。高斡被迫退防壺關城。

建安十一年春季正月,曹操討伐高斡。高斡聽說後,便留下他的偏將守城,自已逃到匈奴,向單于求救,單于沒有答應。曹操包圍壺關三個月,最終將其攻克。高斡又逃向荊州,上洛都尉王琰抓住他,並將他斬首。