曹操命議郎兼督軍曹仁、軍師祭酒郭嘉、左度遼將軍鮮於輔、領軍史渙、護軍韓浩等人率領四萬大軍在後,親自領著蕩寇將軍張遼、征虜將軍劉勳、偏將軍徐晃、張郃、議郎兼督虎豹騎曹純等率騎兵一萬多迅速奔襲柳城。
途徑白狼山時突然與烏桓軍相遇,當時烏桓軍有三萬,且由袁尚、袁熙與蹋頓等人帶領。曹操心驚肉跳,左右將士紛紛膽寒,由於大軍和輜重都落在了後麵,曹操決定避其鋒芒,先撤軍,待後援跟上再決戰。
張遼疾聲勸阻道:“明公,眼下不能退,退一步是萬丈深淵啊!如果敵人趁機掩殺,我軍必定大敗。敵軍乘勢追殺,咱們後麵四萬大軍也必定一潰千裏!與其退縮,不如力戰。明公請看,敵軍剛到,連陣型都沒有擺好,這個時候我軍趁機衝殺,敵軍必定大亂。”
曹操於是登高望遠,情況果然與張遼說得一模一樣,於是決定采納張遼意見。曹操咬牙道:“好,文遠士氣如虹,真是壯我三軍!來人,取我麾旗,命文遠全權指揮戰鬥!”
張遼接過麾旗,命偏將軍徐晃領兵兩千為左軍,偏將軍張郃領兵兩千為右軍,征虜將軍劉勳、督虎豹騎曹純率軍兩千殿後,自己親率四千騎兵衝鋒。三軍齊攻,與烏桓騎兵鏖戰一處。烏桓騎兵陣型大亂,四散逃跑。張遼一馬當先,勢如破竹,先斬殺烏桓王蹋頓。兵敗如山倒,烏桓三萬騎兵逃奔起來快如閃電。曹操見烏桓軍一觸即潰,立刻命劉勳和曹純率軍衝殺。曹軍勢如洪水,呼嘯追去,大敗烏桓軍。
曹操趁機追殺,攻陷柳城。不過袁尚兄弟早已直奔遼東而去,準備投奔公孫康。不久曹仁、郭嘉率領大部隊趕到柳城,與曹操會合。眾人勸曹操乘勝追擊,進攻遼東公孫康,擒拿袁尚兄弟,曹操歎氣道:“我軍糧草已經不足,恐怕再耗下去,回城就沒糧了。再說公孫康是鼠輩,我現在擁兵二十萬,派一個使者前往足以震懾他,他必會乖乖斬下袁尚兄弟頭顱給我,否則明年就是他的忌日!”後來使者一到,公孫康立刻斬殺袁尚二人腦袋,派人送給曹操。
此時曹操軍糧已經快耗盡,正從柳城往回趕。已是深秋時節,氣候幹旱又寒冷,沿途近兩百裏無水,曹操不得不殺馬作為軍糧,又命人掘地三十餘丈才見到水源。
不久由於氣候惡劣,水土不服,郭嘉生了疾病。曹操急忙命軍中醫師診治,醫師搖頭道:“勞累過度,又水土不服,隻能靜養,否則病情隻會加重。”郭嘉握著曹操手道:“軍糧告急,隻有快速回軍才能避免士兵嘩變。明公不必管我,迅速下令急行軍,否則必生變故!”曹操忍痛下令急行軍。三軍急行,郭嘉病情越來越重,最後吐血不止。待回到河北易縣時,郭嘉已經病逝,享年三十八歲。曹操痛不能眠,隻能命人將郭嘉就地掩埋。
聽聞曹操數月平定了烏桓,劉表大驚失色。邀請劉備前往襄陽敘舊,懊悔道:“我真是後悔啊,沒有采納玄德的意見,以至於白白錯失了千載難逢的好機會,可歎!”劉備歎氣道:“現在天下不寧,機會多的是。明公是賢明之主,隻要你肯重用賢才,必能夠抗衡曹操。眼下荊州遊民太多,往往依附於大戶,既不向州郡交租,又躲避賦役,造成荊州稅負不足,治安混亂。應該盡快核查人口,使有能力耕種土地的人能夠得到土地,根據田地好壞增加或減少賦稅。這樣不出五年,荊州立馬能夠重新富庶。望明公采納!”
劉表沉思許久,一陣咳嗽,抬頭猶疑道:“可荊州的大戶多在政界或軍界有人,其中關係錯綜複雜。這件事如果要做下去,恐怕阻力太大,最後會無功而返!”劉備斬釘截鐵道:“萬事開頭難,不如先在南陽施行,或者幹脆在我新野施行,待有了經驗,再推廣到整個荊州,明公覺得如何?”劉表大喜,當即同意。
劉備回新野途中再次前往隆中拜訪諸葛亮。張飛埋怨道:“大哥,咱們前後來了三次了,他一個毛頭小夥,不至於你這般低聲下氣吧?何況此人與劉表有親戚關係,萬一被劉表知道,反倒暴露了咱們。”劉備笑道:“三弟多慮了,孔明先生是胸懷天下的賢士,心中必然也想中興大漢,萬古流芳。而劉景升年事已高,畢竟是快七十歲的人了,早已沒有了雄心壯誌。孔明先生想一展抱負,隻會輔佐我,而不會輔佐劉景升,否則他怎麼可能在隆中閑居八年之久?”趙雲點點頭,張飛無奈歎氣。