十二月底,韓遂翻閱聯軍探部信報。
本年五月,曹操將遠征烏桓,諸將皆諫曰“袁尚不過是亡虜,夷狄貪而無親,豈能為袁尚所利用今吾軍深入征之,新野劉備必說劉表以襲許都,萬一為變,事不可悔。“
郭嘉曰“公雖威震天下,胡恃其所處地遠,必不設防備,因其無備,卒然擊之,可破滅也。且袁紹有恩于民夷,而袁尚、袁熙兄弟生存。今四州之民,徒以威附,德施未加,舍而南征,尚因烏桓之資,招其死主之臣,胡人一動,民夷俱應,以生蹋頓之心,成凱覦之計,恐青、冀非己之有也。劉表坐談客耳,自知才不足以御劉備,重任之則恐不能制,輕任之則劉備不為用,雖虛國遠征,公無憂矣。“曹操從之。
曹操攜子曹植領軍行至幽州涿郡易水,郭嘉曰“兵貴神速。今千里襲人,輜重多,難以趨利,且彼聞之,必為備。不如留輜重,輕兵兼道以出,掩其不意。“曹操從之,全軍棄輜重,輕裝疾進。
路過右北平郡無終縣,曹操遣使征召田疇。田疇之前屢次拒絕袁紹,又忿烏桓多殺其本郡望族和名人,意欲討之而力未能。
曹操初定冀州時,河間國人邢颙返鄉,受曹操征召,出為冀州從事,田疇贊邢颙為天民之先覺者。
曹操軍一到,田疇立刻率山中自營部落歸附。曹操拜田疇勃海郡修縣縣令,隨軍從征。
本年六月,時方夏水雨,而濱海洿下,濘滯不通,烏桓亦遮守蹊要,曹操軍原定沿海岸線抵達柳城遼寧省朝陽市的道路不得進。曹操患之,以問田疇。
田疇曰“此道,秋夏每常有水,淺不通車馬,深不載舟船,為難久矣。舊北平郡治在平岡,道出盧龍,達于柳城。自建武以來,陷壞斷絕,垂二百載,而尚有微徑可從。今烏桓虜將以大軍當由無終,不得進而退,懈弛無備。若嘿回軍,從盧龍口越白檀之險,出空虛之地,路近而便,掩其不備,蹋頓可不戰而擒也。“
曹操贊同,乃引軍還,故意署大木表于水側路傍寫上大字“方今夏暑,道路不通,且俟秋冬,乃復進軍“。
烏桓哨騎見之,誠以為大軍去也。
七月,曹操令田疇將其眾為鄉導,上徐無縣徐無山,出盧龍塞,并未直奔平岡,而是折向西北繞遠道五百余里,塹山堙谷,經白檀,再向東北穿過平岡,踏入鮮卑庭,又向東南行軍,接近白狼山,東指柳城。
破羌將軍宣威侯張繡率部隨軍,還沒有到達戰場就突然死于路途中,被謚為定侯,兒子張泉繼嗣。
有傳言,曹丕因兄長曹昂死于張繡之手而對張繡不滿,曾對張繡曰“汝殺吾兄長,還有何臉面見人呢”張繡一直心不自安,在此次行軍途中自殺。但自殺未可信也。
柳城離白狼山不及二百里,烏桓虜乃知之。
袁尚、袁熙、遼西烏桓行單于蹋頓、遼西單于樓班、遼東烏桓單于峭王蘇仆延速仆丸\速附丸\速付丸、右北平單于能臣抵之于能臣、右北平烏桓單于汗魯王烏延、上谷烏桓大單于難樓王難樓等領數萬騎奔向白狼山。
八月,曹操軍剛登上白狼山,倉卒與烏桓虜遇,烏桓眾騎甚盛。曹操車重在后,披甲者少,左右將領皆懼。
曹操登高,望烏桓虜陣不整,使蕩寇將軍張遼、偏將軍張合為先鋒,曹純虎豹騎縱兵擊之,偏將軍徐晃、左度遼將軍鮮于輔、烏桓校尉閻柔等將繼進,護軍韓浩、領軍史渙壓陣,烏桓眾騎大崩。
曹操軍陣斬蹋頓、烏延、難樓等,圍攻烏桓老巢柳城不克,郭嘉獻上周不疑破城十計,曹操選用一計,立刻破城。
于是,趁勢追擊逐北,掃蕩四郡烏桓,胡、漢降者二十余萬口。其中許多漢人口乃烏桓掠去的人口。
烏桓部落之一的烏桓王骨進曾大舉入邊,掠漢望族牛馬、財物甚眾。
曹操軍掃北,遼西鮮卑素利部落引兵應曹操,襲烏桓部落之一的烏桓王骨進的大營,獲馬千匹,骨進敗,幾乎被擒,逃散遁北而去。其它鮮卑部落異視素利。
樓班、蘇仆延、烏延,難樓等棄其種人,與袁尚、袁熙投奔遼東太守公孫康,其眾尚有數千騎。
右北平烏桓大人寇婁敦、遼西烏桓都督王護留、遼西烏桓大人王同、遼西烏桓大人王寄等率一部向北逃入漠北。