漢中是益州東北部的一個郡,周圍環山、北屏秦嶺,漢水盆地坐落其間,漢水支流從西向東流過,漢中物產富饒、土地肥沃,一旦占據漢中,不但能打通通往秦、隴、蜀、楚的道路,進而向外擴張勢力,還能“獨成一家”、割據一方。所以漢中一直以來都是兵家必爭之地,漢高祖劉邦便是以此為根據地,一步步擴張、終成帝業的。

建安十九年(214年)四月,曹操在平定隴右後,便為進攻張魯創造了有利條件。建安二十年(215年)三月,曹操見劉備已取得益州,而漢中是益州門戶,“若無漢中,則無蜀矣”,劉備必然要攻取漢中。於是曹操搶先一步,率十萬大軍親征漢中張魯。

七月,曹操率軍來到陽平關(今陝西勉縣西北),張魯左右思量後,知道自己不是曹操的對手,便有了投降之意。但這一想法在說出來後,第一個遭到了其弟張衛的反對,張衛率領大將楊昂及數萬人堅守關口,壘起石牆防止曹軍的進入,曹軍花了好大力氣無果,死傷無數,最後還是運用了夜間偷襲的方法,才打敗了張魯軍隊,張衛趁機逃回漢中。

見到陽平關失守,張魯又想投降,此時,功曹閻圃說:“你現在投降,那是因為戰敗了,就算投降過去也沒有地位。你聽我的,先別投降,我們先去巴中依靠當地的小軍閥,曹操肯定打不下來,這個時候再主動投降,那地位肯定不一樣了。”

張魯一聽有道理,馬上安排撤退。張魯的部下撤退時一度想燒了糧倉、國庫等地方,張魯也拒絕了,說:“本來就要投靠朝廷,這些都是要獻給朝廷的,現在出走,也隻是暫時避開曹軍,並非有什麽二心。收藏珍寶的倉庫,以後也是朝廷的,不能燒掉,還是留著吧”。

曹操占據了南鄭後,對張魯的好意也是心領神會,馬上慰問張魯的家人,表示自己的寬廣胸懷。

再說張魯到了巴中後,劉備也馬上來招降張魯。閻圃這時又勸說張魯:“現在正是投降曹操的好時候,要是現在不投降曹操,那就幹脆投降劉備,我們現在的情況隻能二選一了。”

張魯一聽馬上大怒,劉備幫著劉璋打我,挖我牆腳撬走了馬超的仇我還沒忘呢!於是大罵道:“寧為曹公作奴,不為劉備上客!”

於是他痛快地投降了曹操。十一月,張魯帶著全家來到南鄭向曹操投降,曹操命張魯為鎮南將軍,封閬中侯,而張魯的五個兒子和閻圃也都被封為列侯。

在曹操進兵漢中後,劉備和孫權之間的關係也隨即發生了變化。劉備占據益州後,孫權於建安二十年(215年)派使者去見劉備,希望劉備能將荊州歸還給自己,但是劉備卻說等奪得涼州後再歸還,孫權一聽就知道這是個托詞,故而大怒,隨即派大將呂蒙領兵突襲長沙、桂陽和零陵三郡並成功,劉備得到消息後,也親自引兵東下,領關羽入益陽(屬長沙郡,今湖南益陽西)與孫權爭奪三郡,雙方僵持不下,眼看一場大戰即將爆發。此時,劉備收到曹操進攻漢中的消息,恐自己的益州失守,便主動再提出與孫權聯盟的請求,並約定以湘水為界,平分荊州,湘水以東的江夏、長沙、桂陽三郡歸孫權;湘水以西的南郡、零陵、武陵三郡歸為劉備,雙方重修舊好。

早在劉備率軍東下與孫權爭奪荊州時曹操手下的謀士司馬懿就曾對曹操說:“劉備以詐力虜劉璋,蜀人未附而遠爭江陵,此機不可失也。今若曜威漢中,益州震動,進兵臨之,勢必瓦解。聖人不能違時,亦不可失時也!”

意思是:“劉備降服劉璋乃是詐力、西蜀人也並不真心臣服於他,現在又率軍東下與孫權爭奪荊州,此時,正是我們進攻益州的最佳時機,我們拿下漢中後,就該乘勝追擊,益州必定成為我們的囊中物。”

謀臣劉曄也認為:“今舉漢中,蜀人望風,破膽失守,推此而前,蜀可傳檄而定。劉備人傑也,有度而遲,得蜀日淺,蜀人未恃也。今破漢中,蜀人震恐,其勢自傾。以公之神明,因其傾而壓之,無不克也。若小緩之,諸葛亮明於治而為相,關羽、張飛勇冠三軍而為將,蜀民既定,據險守要,則不可犯矣。今不取,必為後憂。”

這話的意思是:“劉備是個人才,他有度量、有智謀和算計,但步調遲緩,得到蜀的時間還很短,蜀國人也沒有真正親附他,我們現在趁勢攻打、立即發兵,定能取勝,他日等到諸葛亮成為一國之相,關羽、張飛成為勇冠三軍的將領,等到蜀國民心已定,我們再攻打就晚了。”

曹操聽了二人的話後,都拒絕了,其實,曹操並不是不想得到西蜀,隻是當時劉備在益州的統治已趨於穩定,西蜀也是易守難攻,現在自己的後方還不夠穩定,孫權、劉備也已經恢複同盟關係。淮南受到東方的孫權威脅,而關羽也在荊州對自己的襄、樊虎視眈眈,盲目進攻益州也許會給自己帶來更大的危險,於是,曹操命夏侯淵為都護將軍,督張郃、徐晃等大將駐守漢中,並以郭淮為夏侯淵司馬,以杜襲為督軍,自己領兵回到中原。

其實,劉備也不甘心曹操占據漢中,他總是在尋求機會奪取它,早就在劉備與孫權“重修舊好”且平分荊州後,劉備的偏將軍黃權就對他說:“失去了漢中,三巴(巴郡、巴東、巴西)的地位就會被動搖,這等於將蜀中的大腿割走了。”

於是,劉備趕緊派黃權去巴中迎接張魯,但是當黃權到達巴中時,張魯已經投歸曹操了,黃權領兵大敗樸胡、杜濩、任約,控製了三巴地區。曹操得到消息後,派張郃領兵南下,想奪回三巴地區,但被張飛大敗,隻好退守到南鄭。

建安二十二年(217年),法正向劉備獻計,認為曹操一舉降伏張魯,卻未繼續進攻益州,而留下夏侯淵、張郃駐守漢中,一定是內部動亂,而夏侯淵、張郃的才能不足以守住漢中,應該立即發兵奪取漢中。且告訴劉備奪取漢中的意義:上,可以討伐國賊,尊崇漢室;中,可以蠶食雍、涼二州,開拓國境;下,可以固守要害,是持久的戰略。劉備讚同,於是率領諸將進攻漢中。

劉備接受法正的建議:率法正、黃忠、魏延、趙雲、高翔、劉封等,先用黃權之計攻破巴東郡的樸胡及巴西郡,進攻漢中的陽平關,另派張飛、馬超、吳蘭、雷銅、任夔等人攻武都郡,屯於下辨,氐族任雷定等七萬多部落相應,而曹軍便以夏侯淵守陽平關、張郃守廣石、徐晃負責馬鳴閣到陽平一帶,主力抵擋劉備軍,曹洪與曹真則率軍防衛張飛軍,建安二十三年(218年),張飛與馬超改屯於固山,聲言要斷曹軍後路,曹洪雖有攻擊下辨的吳蘭之心,但眾人皆因張飛的舉動產生了懷疑,唯獨曹休認為敵人如要斷軍後路,應該伏兵前進;既然他們如此揚言,不如趁兩路人馬尚未合並,盡早加以攻擊,曹洪認為此計可行,遂進擊吳蘭軍,將雷銅、任夔等人殺死,吳蘭逃入氐族,被當地人所殺。

三月,馬超與張飛軍隊撤走,同時,夏侯淵與劉備軍處於對峙狀態。七月,劉備派陳式攻擊馬鳴閣,被徐晃打敗,兵敗後部分士兵逃亡時掉進山穀中。劉備率精兵卻不能攻克屯兵廣石的張郃,寄送書信到成都要求增派援兵,此時,楊洪提出“若無漢中,則無蜀矣”的意見,諸葛亮采納,於是,立即增派援兵。

建安二十四年(219年)正月,劉備南渡沔水,於定軍山、興勢山山麓紮營,與率軍前來的夏侯淵部對峙。當時夏侯淵駐守南線據點走馬穀,張郃駐守東線據點廣石。法正采取聲東擊西之計,讓劉備將萬餘精兵分作十隊,趁夜輪番進攻廣石。張郃率親兵搏戰,雖然沒有丟失據點,但也抵擋不住劉備軍的輪番攻擊,於是向夏侯淵要求增援。

夏侯淵將精兵分撥一半去支援張郃,自己繼續固守南線。隨後劉備派兵偷襲走馬穀,放火燒毀了曹軍陣地前的防衛工事鹿角,夏侯淵親自率四百軍士出營救火、修補鹿角。此時,法正看準時機,見夏侯淵正處於劣勢,提議全力進攻夏侯淵,劉備於是命黃忠居高臨下從後方擂鼓突襲,夏侯淵猝不及被黃忠斬殺,曹軍潰敗。

當時曹軍主帥被殺,軍中大亂。杜襲與郭淮將剩下的散兵聚在一起,推舉張郃為新的統帥,張郃指揮軍隊安營紮寨,兵授各將領節度,軍心才安定下來,第二天劉備想再渡漢水進攻,曹軍部下將領認為寡不敵眾沒必要冒險,應該依河助陣禦敵,郭淮卻說這是示弱的表現,無法激起士氣,他建議在遠離漢水的地方設陣,引誘他們渡河,當敵軍渡過一半時給予攻擊,張郃認為此計可行,設陣以後,劉備心中生疑,不敢渡河,並沒有采取軍事措施,於是,曹軍隻好退守到陽平。曹操得到了夏侯淵陣亡的消息後,便命曹真立即增援,曹真到達以後,派徐晃軍反擊劉備派出的高翔軍,取得勝利,局勢暫時得以穩定下來。

三月,曹操親自率軍由長安出兵斜穀,到達漢中,劉備便將群眾聚集起來,占領險地,不與曹軍正麵交戰,後曹操在北山下運送糧草,黃忠出兵奪取,但是並沒有交還。趙雲率騎兵尋找,路上遇到曹操士兵,被圍住後,趙雲與其廝殺一陣,邊戰邊退,誰料曹軍又有援兵,追到趙雲營前,趙雲隻好立即逃至軍營,放下旌旗,停敲戰鼓,曹軍生怕有詐,並不敢繼續往前,誰知道此時趙雲軍擂鼓震天,從後麵射出很多箭,曹軍很多人被射殺,且慌亂中這些士兵互相踐踏,墜進漢水者甚多,死傷無數。

曹操與劉備對峙數月,兵力耗損很多,他便萌生了退意,後用“雞肋”當口令,官員們都不知道是何用意,唯有主簿楊修明白雞肋是“棄之可惜,食之無味”的意思,知道曹操想撤退,便自己收拾了行裝。五月,曹操果然放棄了漢中。劉備在占領漢中後,六月派孟達由秭歸攻房陵,太守蒯祺被殺,後再命令劉封由漢中順沔水而下,率孟達軍猛攻上庸,太守什耽投降,為益州做了更完滿的防備,同年七月,劉備在漢中自立為王,與曹操相抗衡。而曹操,因擔心劉備稱王以後趁機攻打武都,於是命雍州刺史張既率五萬多人遷徙到扶風郡和天水郡一帶。

從此處也能看出來曹操的戰略,他顯然一開始就不想久守漢中,否則他就不會把漢中百姓都遷走了。遷走百姓,留守曹軍的吃喝就全都得靠外界運輸,秦嶺巍巍,道路難行,支撐幾年尚可,長期支撐下去,豈不是自找苦吃嗎?

不過,自此,漢中之戰曹操和劉備的角逐勝負已見分曉。

漢中爭奪戰從建安二十二年(217年)至建安二十四年(219年)五月,持續了將近兩年之久。漢中之戰,曹劉雙方都投入了非常多的戰力,劉備方參戰將領張飛、馬超、趙雲、黃忠等,曹操方參戰將領夏侯淵、曹休、曹真、張郃、徐晃、郭淮等,都是三國時期的名將,可謂是一場勢均力敵的戰爭。然而這場持續了將近兩年之久的戰爭,史書上卻交待非常少,曆代也少有對這場戰爭的戰術評價。

諸葛亮曾說:“及至孟德,以其譎勝之力,舉數十萬之師,救張郃於陽平,勢窮慮悔,僅能自脫,辱其鋒銳之眾,遂喪漢中之地。”司馬懿也曾說:“昔武皇帝再入漢中,幾至大敗。”

而曹操從建安二十三年(218年)七月開始治兵,到建安二十四年(219年)三月抵達漢中,準備時間長達半年有餘,但在漢中與劉備僵持了僅僅兩個月就撤出漢中,漢中之戰中發生的漢水之戰被認為是曹操速敗的原因,後世史家治史時對漢中之戰的記載多為曹操被趙雲所擊敗。例如,南宋朱熹撰《資治通鑒綱目》:“三月,魏王操出斜穀,劉備將趙雲擊其軍,敗之。”元胡一桂撰《十七史纂古今通要》:“趙雲大敗操兵,操引還長安,帝遂有漢中,自稱漢中王。”元趙居信撰《蜀漢本末》:“三月,操出斜穀。將軍趙雲擊其軍,敗之。夏五月,操引還,昭烈遂取漢中。”明章如愚撰《群書考索》:“趙雲將數千騎大破魏兵,備遂有漢中。”