。”於是他們推走了韓珩並讓烏桓觸出城迎接曹軍的三路兵馬直接投降了曹操。曹操非常高興並加封烏桓觸為鎮北將軍。
然而突然有探馬來報說:“樂進、李典、張燕攻打併州時高幹堅守在壺關口無法攻下。”曹操決定親自率兵前往。三將迎接他並告訴他高幹據守關隘很難攻打。曹操召集眾將共同商議破敵之策。荀攸建議說:“要打敗高幹必須使用詐降的計策才行。”曹操同意了他的意見並叫來降將呂曠、呂翔低聲吩咐他們如此這般行事。呂曠等人率領數十名士兵直抵關下大喊:“我們原本是袁氏的舊將不得已才投降了曹操。但是曹操為人詭詐刻薄對待我們所以我們現在決定迴歸舊主。請你們趕快開啟關門接納我們。”高幹開始並不相信只讓呂曠、呂翔二人上關說話。二人卸甲棄馬進入後對高幹說:“曹軍剛到軍心未定今夜我們可以去劫營。我們願意打頭陣。”高幹大喜同意了他們的計劃。當晚他讓呂曠、呂翔二人打頭陣率領萬餘名士兵前去劫營。然而當他們接近曹營時背後突然喊聲大震伏兵四起。高幹知道自己中計了急忙逃回壺關城但樂進、李典已經奪下了關隘。高幹只得奪路而逃去投奔單于。曹操率兵守住關口並派人追擊高幹。高幹逃到單于的領地時正好遇上了北番的左賢王。他下馬拜倒在地說:“曹操正在吞併我們的領土現在他還想侵犯您的領地請您一定要救援我們共同復國以保衛北方。”然而左賢王卻說:“我和曹操沒有仇怨他怎麼會侵犯我的土地呢?你是想讓我和曹操結怨嗎?”說完他喝退了高幹。高幹無路可走只得去投奔劉表。但是當他走到上洛時被都尉王琰所殺並將他的首級送給了曹操。曹操封賞王琰為列侯。
在幷州已經平定之後,曹操開始商議向西進攻烏桓的計劃。曹洪等將領表示反對,認為袁熙、袁尚已經兵敗逃亡,勢力衰竭,如果遠征烏桓,恐怕劉備、劉表會趁機襲擊許都,造成無法挽回的災難。然而,郭嘉卻持不同意見,他認為曹操威震天下,而烏桓人因為地處偏遠,必然沒有防備,可以趁機攻擊取得勝利。同時,他也指出袁紹與烏桓有恩,袁熙、袁尚兄弟仍然存在,必須予以清除。至於劉備和劉表,郭嘉認為他們不足以構成威脅。曹操最終採納了郭嘉的建議,決定率軍遠征烏桓。
曹操率領大軍,車輛數千輛,浩浩蕩蕩地前進。然而,他們很快就遇到了困難,黃沙漫漫,狂風四起,道路崎嶇難行,人馬疲憊不堪。曹操開始有了回軍的念頭,於是詢問郭嘉的意見。此時郭嘉因為水土不服而臥病在車上,他建議曹操輕兵兼道以出,掩其不備,但需要找到熟悉當地路徑的嚮導。曹操於是留下郭嘉在易州養病,自己則繼續前行,並找到了袁紹的舊將田疇作為嚮導。
田疇告訴曹操,這條道路在秋夏季節有水,淺的地方不能通車馬,深的地方又不能行船,非常難以行動。他建議曹操回軍,從盧龍口越過白檀之險,出空虛之地,前近柳城,掩其不備,可以一戰而擒獲烏桓的首領蹋頓。曹操聽從了田疇的建議,封他為靖北將軍,作為嚮導官,率領大軍前進。
當田疇引著張遼等人到達白狼山時,正好遇到了袁熙、袁尚會合蹋頓等數萬騎兵前來。張遼迅速向曹操報告了這個情況,曹操登高望去,發現蹋頓的軍隊沒有隊形,參差不整。他立刻意識到這是一個機會,於是命令張遼等人分四路下山,奮力急攻。蹋頓的軍隊大亂,張遼趁機拍馬斬殺了蹋頓於馬下,其餘的人也都投降了。袁熙、袁尚帶著數千騎兵逃往遼東去了。
曹操收軍進入柳城後,封賞了田疇等人,並準備回兵。然而此時天氣寒冷乾旱,二百里沒有水源,軍隊又缺乏糧食,只能殺馬為食,挖地三四十丈才得到水。在回到易州後,曹操重賞了先前曾經勸諫他的人,並告訴他們這次遠征雖然成功但是僥倖得來的勝利不能作為常法來遵循。同時他也感到非常傷心因為郭嘉已經去世了數日停柩在公廨裡。他去祭拜郭嘉時失聲痛哭表示失去了郭嘉就像失去了自己的左膀右臂一樣。回顧眾官他說:“諸君年齒皆孤等輩惟奉孝最少吾欲託以後事。不期中年夭折使吾心腸崩裂矣!”郭嘉的左右將郭嘉臨死時所寫的信呈給曹操看信中寫著:“丞相若從書中所言遼東事定矣。”曹操拆開信看後點頭嘆息眾人都不明白他的意思。
第二天夏侯惇引眾人來稟告說:“遼東太守公孫康久不賓服今袁熙、袁尚又往投之必為後患。不如乘其未動速往徵之遼東可得也。”然而曹操卻笑著說:“不煩諸公虎威。數日之後公孫康自送二袁之首至矣。”諸將都不相信他的話但事實證明曹操的預測是正確的。
袁熙和袁尚帶著數千騎兵逃往遼東。遼東太