白狼山之戰發生在公元207年,在此之前,袁紹及其長子袁譚已死,袁紹的幼子袁尚被曹操打敗,與袁熙一起逃到了烏桓,當時烏桓所在地是在中原最北邊的遼東三郡(遼東、遼西、右北平郡),核心地區在柳城,今遼寧省朝陽市朝陽縣一帶,袁尚之前的根據地在鄴城(今河北臨漳縣與河南安陽交界處),從鄴城逃到柳城,袁尚逃了一千多公里。
對于是否追擊袁尚打擊烏桓的問題,曹操內部的意見起初并不統一,主要有兩種意見:
一、大多數人贊同不要攻打。理由是烏桓太遠,如果勞師遠征,擔心劉備會慫恿劉表北上攻打許都,許都才是最重要的,況且烏桓也不會被袁尚所用,他們的訴求是不一樣的。
二、只有一個人支持攻打烏桓,就是郭嘉,郭嘉認為劉表是坐談客,不會聽從劉備建議攻打許都的,烏桓與袁氏關系一向非常好,到時會成為我們的邊患,正因為距離如此之遠,烏桓也認為我們不會攻打他們,如果我們偏要出兵,就會起到出其不料的效果。
曹操本人也是猶豫不決,傾向于攻打烏桓,但又擔心后方會遭到敵人的攻擊,下不了決心,畢竟一千多公里的遠征,一時半會也回不來,從戰略上講,袁氏兄弟已經是曹操的死敵了,如果現在不攻打他們,將來一樣會成為曹魏的邊患,到時候還是一樣要出兵攻打,晚打不如早打,曹操只是下不了決心。
郭嘉的建議為曹操解決了后顧之憂,最終讓曹操下定決心攻打烏桓,這是曹操自起兵以來,距離最遠的一次遠征,于是曹操開始為遠征袁尚與烏桓做準備,白狼山之戰就這樣拉開了序幕。
曹操最初選擇的進軍路線是:鄴城→無終(今天津市薊縣)→濱海道( 河北秦皇島)→碣石(今河北昌黎縣)→柳城(今遼寧朝陽),這其實就是沿著渤海海邊走的一條路,本文稱之為環渤海線,當曹操率領大軍到達無終時,正值初夏,然后雨季來臨了,導致道路泥濘,曹操暫時無法進軍,于是他就找到了一個當地人問路,這個人就是田疇。
田疇給曹操提供另外一條從無終到柳城的道路,這條路線是:鄴城→無終(今天津市薊縣)→徐無山(今河北玉田縣)→盧龍塞(今河北遷安縣)→灤河→河北承德→白狼山(今遼寧喀喇沁左翼蒙古族自治縣)→柳城(今遼寧朝陽),本文稱之為白狼山線。
曹操在攻打烏桓時,采取了兩個戰略:
一是出其不意。
從無終到柳城,一般情況下走的都是環渤海線,沿著海邊走,這條路很像明朝時期的關寧錦防線,曹操知道這條路,烏桓人也知道,所以當袁尚投靠烏桓之后,烏桓人是沿著環渤海線布防的。
曹操為了迷惑烏桓人,先讓部分軍隊從無終出發,沿著環渤海線往柳城走,故意走了一半之后,以天氣原因為由,下令軍隊撤軍,還在路上樹立標志,標志上寫著:道路不通,等到了秋冬季節再進軍。給烏桓人造成一種撤軍的錯覺。
二是兵貴神速。
然后曹操本人率領精銳軍隊暗中從白狼山線行軍,一路翻山越嶺、淌水過河快速行軍,曹操聽從郭嘉的建議,拋下輜重與步兵,率領輕騎兵輕裝前進,兵貴神速,曹操很快就出其不意地到達了白狼山。
白狼山離柳城不足200里,曹操只需要兩天時間就能到達烏桓的大本營柳城了,就是在此時,烏桓的偵察兵發現了曹操,由于之前烏桓人以為曹操已經撤退了,根本沒有想到曹操從盧龍塞一路翻山越嶺到了白狼山,一時措手不及,于是烏桓人匆忙集結軍隊,前往白狼山與曹操交戰,就這樣雙方正式在白狼山相遇。
當時曹操手下的軍隊很少,史書沒有記載具體的數字,我們可以推測一下,曹操手下兵力以虎豹騎為主,虎豹騎是最貴的騎兵,根據后來在長坂坡追擊劉備的數量只有5000人來看,曹操帶到白狼山的虎豹騎最多就是5000人,再加上其他的非虎豹騎騎兵,曹操在白狼山的總兵力加起來應該接近一萬人。
烏桓與袁紹這邊雖然是倉促組織起來的軍隊,但是數量占據了絕對的優勢,從史書的記載來看,戰后被俘虜的烏桓人就有二十余萬人,這多少有些夸張,至于烏桓參戰的兵力,史書上記載有數萬人,那些被俘虜的人應該包括烏桓的百姓吧,即使烏桓有數萬騎兵參戰,也是曹操兵力的數倍,在兵力上占據了絕對的優勢。
曹操這邊參戰的主要將領有:張遼、徐晃、張郃、曹純、張繡、韓浩、史渙、鮮于輔、閻柔、牽招,五子良將一下子來了三個,戰斗力不用說了,虎豹騎的首領曹純也在,韓浩、史渙都是以忠勇著稱的將領,鮮于輔、閻柔是原幽州牧劉虞的手下,熟悉北方地形與環境,可以看到曹操手下都是精兵強將。
烏桓這邊參戰的主要將領有:袁尚、袁熙、蹋頓單于、遼西單于樓班、右北平單于能臣。算起來就是三郡烏桓單于全部出動,再加上袁尚與袁熙兩個紈绔子弟。
曹操采用了三個辦法以少勝多打敗了數萬烏桓騎兵 ,并俘虜了二十余萬人,這三個辦法就是:
1、搶占制高點。
曹軍到達白狼山后,曹操就搶占了制高點,登上了白狼山頂,這個時候因為烏桓已經發現了曹軍,所以集結軍隊往白狼山前進,而曹操在山頂把敵情看得一清二楚,在整個交戰過程中,曹操也是在山頂全程指揮并觀看的,掌握了整個戰爭的主動權。
另外,曹操占據山頂,一時半會烏桓人也攻不上來,騎兵是不方便往高處進攻的,這樣也能保證曹操本人的安全,曹操當時應該是把指揮所部署在山項,然后主力部隊放在山腳迎戰,這樣也不會被敵人所包圍,這是曹操勝利的第一個原因。
2、趁敵人陣型未穩,首先發動攻擊。
當時曹操手下只有輕騎兵,步兵和輜重都在后面沒有跟上來,曹操手下的部分將領看到烏桓兵力很多,有些畏戰,張遼向曹操建議,趁敵人陣型未穩之際,首先攻擊敵軍,曹操同意了張遼的建議,并且讓張遼擔任前線指揮官。
烏桓軍隊是匆忙集結起來的,從各個地方往白狼山趕,在行軍過程中,明顯隊伍就是亂的,騎兵行軍與步兵是不一樣的,受到地形的影響,尤其是在山區行軍,無法有效組成陣型,從四面八方匯集過來,即使軍隊數量很多,但并不集中,也沒有擺開戰斗陣型。
張遼看到了烏桓軍隊的弱點,這與他后來在合肥之戰中采用的辦法是一樣的,合肥之戰時,孫權帶了10萬大軍攻打合肥,部隊還沒有完全集結好,張遼就帶了800人沖進孫權大軍,一通戰斗下來,打擊了孫權大軍的軍心,并在合肥之戰取勝。
白狼山之戰在合肥之戰前,張遼仍然是用同樣的辦法,根據在山頂觀測到的敵情,集中兵力攻擊烏桓的一支軍隊,這支軍隊很可能就是蹋頓單于的軍隊,烏桓總兵力雖然是曹軍的數倍,但在局部并不形成優勢,張遼就靠烏桓軍隊陣型未穩,及時出擊,一戰就打敗了烏桓軍隊,曹軍在局部取得勝利,一是振奮了己方的軍心,二是打擊了敵人的信心。
3、擒賊先擒王,狹路相逢勇者勝。
張遼指揮的曹軍本來就是曹操手下的精銳部隊,以作戰勇猛著稱,再加上孤立無援,沒有退路,一旦戰敗,就是死路一條,所以曹軍將士只有奮勇殺敵,打敗敵人才能活下去,而張遼本人就是勇猛異常的將領,合肥之戰帶800人敢沖擊敵人10萬大軍的勇士,根本就不怕敵人的數量多,張遼作為戰場指揮官靠勇猛直接沖在前線,也能激發曹軍將士的戰斗信心。
狹路相逢勇者勝,烏桓一沒有準備好,二看到曹軍如此勇猛,一下子就失了信心,再加上張遼一沖擊就擊殺了蹋頓單于,自己一方的單于當場被殺,這對烏桓人是毀滅性的打敗,首領都沒了,部將哪還有信心繼續參戰,所以烏桓軍隊迅速崩潰,曹軍取得了白狼山之戰的勝利,然后繼續進攻柳城,俘虜了二十余萬人。
《三國志 武帝紀》:公登高,望虜陳不整,乃縱兵擊之,使張遼為先鋒,虜眾大崩,斬蹋頓及名王已下,胡、漢降者二十余萬口。
從史書的記載也能看出,曹軍斬殺了蹋頓單于及許多烏桓部將,烏桓軍隊迅速崩潰,曹操取得了最終的勝利。
歡迎關注微信公眾號:yiguozhijun_lishi