曹軍守營不再出戰,劉備正在疑心,忽聽回報軍糧被曹軍劫了,汝南也被曹軍攻陷。劉備大驚,連夜撤軍,半途又中了曹軍的埋伏,前後受敵,拼力死戰,才脫身逃走,前去投靠劉表。
曹軍也不追趕,自回許都去了。第二年春,曹操又領大軍往官渡攻袁紹。這時袁紹正重病在身,便由三兒子袁尚迎戰,短短三回合,袁尚便被張遼殺敗。
袁紹見袁尚敗回,急得吐血而死。遺囑說由三兒子袁尚繼承父親的權力。袁紹的妻子劉氏便殺了袁紹的五個小老婆,袁尚又殺了這五個小老婆的家屬。
袁紹的兒子率兵堅守冀州,曹軍攻不下,謀士郭嘉勸曹操坐觀袁紹的三個兒子互相殘殺即可。曹操聽從了郭嘉的計謀,領兵攻打劉表去了。
不久,袁紹的三個兒子因繼位問題互相殘殺。大兒子袁譚用謀士郭圖之計,想借曹軍來殺袁尚,便假降曹操。
曹操收了袁譚,領大軍圍住冀州。袁尚令部將審配把守冀州,自己則領了一軍駐紮城外,互為犄角。曹操沒有破城良方,兩軍相持不下。
謀士許攸獻計給曹操,曹軍引漳河之水灌城,城中無糧,袁尚軍已臨絕境。
袁紹舊將辛毗槍挑袁尚的大印、衣服,在陣前招降守城軍士。審配大怒,將辛毗一家人八十餘口在城頭全部殺了,將頭扔下城來,辛毗大哭不止。
審配的侄兒審榮與辛毗是好朋友,便開了西城門獻了城池,冀州於是歸了曹操。
刀斧手將陳琳推到曹操面前,曹操質問陳琳∶「你寫文章罵我也就罷了,為什麼要辱及我的父親、祖父?」曹操手下人都勸曹操殺掉陳琳,曹操知道陳琳是個人才,不但未殺陳琳,還讓陳琳在軍中掌管文書。
曹操到冀州時,許攸對曹操說∶「要不是我,你怎麼能進入冀州?」曹操大笑而去。大將軍許褚見許攸目中無人,便殺了許攸,提頭去見曹操,曹操對許褚的做法十分不滿,令人隆重安葬了許攸。
曹軍追擊袁譚到南皮,袁譚讓城中百姓也來參戰,兩軍混戰,袁譚被曹洪殺死。
曹操令人將袁譚人頭高掛在城門上,傳令有敢哭者斬。青州別駕王修卻披麻戴孝,在城下大哭。曹操十分讚賞冀州的忠義之士,不但不殺王修,反而加以重用。
袁熙、袁尚逃往大漠深處的烏桓,謀士郭嘉建議曹操繼續領兵追擊。
曹軍在白狼山大敗袁熙、袁尚。袁氏兄弟遂帶領數千騎兵逃往遼東。曹操認為此次取勝純屬僥倖,所以鼓勵謀士大膽獻計。
曹操最欣賞的謀士郭嘉,因水土不服病死沙漠。曹操於祭拜時傷心大哭。郭嘉留下書信一封,勸曹操不要攻打遼東。
曹操依計而行。不久遼東公孫康害怕袁氏兄弟佔了他的地盤,便殺了二袁,將頭獻上。曹操撤軍回許都。