《三國演義》第七十一和七十二回敘述了曹操放棄漢中,為劉備所據有的經過。大意是;
夏侯淵在定軍山戰死以後,曹操引兵前來,在漢水北山腳下紮營,被趙雲、黃忠等打敗,退回南鄭。又遣大軍從斜谷小路而進,來取漢水,劉備率兵於漢水之西以迎之。曹操命徐晃、王平引軍至漢水決戰,又被趙雲、黃忠擊敗,王平投降了劉備。
曹操親率大軍來奪漢水營,諸葛亮利用曹操為人多疑的特點,以疑兵勝之。曹操回軍南鄭,諸葛亮早派魏延、張飛先得了南鄭,曹操只好退守陽平關。
諸葛亮差張飛、魏延分兵兩路去截曹操糧道,命黃忠、趙雲放火燒山。曹操親自提兵來與蜀兵決戰,作戰不利,奔回陽平關。蜀兵趕到城下,曹操棄關而走,路遇次子曹彰前來相助,共到斜谷界口紮營。
劉備命劉封、孟達去戰曹彰,劉封大敗而歸。適有馬超、吳蘭兩軍殺來,曹兵敗走。曹彰遇到吳蘭,一戟刺死吳蘭於馬下。曹操收兵回寨,擇日進兵,又被魏延、馬超打得大敗,曹操中了魏延一箭,被龐德救回營中。由於連打敗仗,曹操只好下令班師,放棄了漢中,漢中遂被劉備佔領。
《三國演義》情節多與史實不符
這次戰爭的主要情況,《三國志》的各紀傳中有簡略的記載,綜合起來,基本情況是:建安二十四年(公元219)三月,曹操從長安出兵南徵,出斜谷,派出軍隊遮守險要之處,一直到了陽平關。
劉備在山勢險要之處紮營,拒險固守,採取了以逸待勞,拖垮敵人的戰術,不下來交鋒。曹操進攻了一個月,難以攻破,士兵死亡甚多,使他無可奈何。因為消耗嚴重,曹操拖不起了,只好退兵回去,不得不把漢中讓給了劉備。這次漢中戰爭,時間共有兩個月,過程也比較簡單,《三國演義》上所渲染的那些複雜的戰爭過程,很多是沒有根據的,其具體情節多與史實不符。特別是許多人物的活動,更與史實抵悟。
一曰:沒來的卻來了。我們在前面已經提到:此次劉備徵漢中,帶法正隨行,諸葛亮留在成都,並沒有直接參加此役,哪裡會有所謂「諸葛亮智取漢中」之事?
二日:沒到的卻到了。曹彰在上一年領兵北伐代郡烏桓,到這年烏桓已平,曹操召他到漢中助戰。而當他趕到長安時,漢中的戰事已經結束,曹操也從漢中撤回了長安。曹彰既沒有趕到漢中前線,怎能在那裡斬了吳蘭?
三日:死去的卻活了。在建安二十三年(公元218),即漢中戰爭的前一年的正月,吳蘭在下辨一帶被曹洪擊敗,3月被陰平四氏人強端斬首。屍骨已寒的吳蘭,怎能再喋血於漢中?
四日:不在場的卻立功了。龐德這時正南屯樊城,與曹仁共拒關羽,怎麼能在漢中救曹操,立了大功?
曹搡老了
綜觀這次漢中之戰,從劉備方面來說:採取了拒險固守,以逸待勞,拖垮敵人的戰術是正確的,無疑是他取得漢中的重要原因;而從曹操方面來說:除了戰術上的被動,荊州的形勢比較緊張、關羽有進攻襄樊之勢,使他有後顧之憂以外:還有另外一個重要原因,那就是曹操老了(時年65歲),不那麼有鬥志、有氣魄了。
當初來取漢中時,見到漢中地勢險惡,就有畏難情緒,想要退兵回去;因為誤入敵營、歪打正著,才僥倖地取得了漢中;如今又在漢中碰了個不軟不硬的釘子,他又是見硬便回了。總之,他老了,意志消沉了,不是當年那個不畏艱險、一往無前的曹孟德了。
據《九州春秋》說:曹操想要退兵時,出口令日「雞肋」,被主簿楊修識破。有人問楊修,他解釋說:「夫雞肋,棄之如可惜,食之無所得,知王(魏王)欲還也。」其實,漢中本身的戰略地位非常重要,並不是「食之無所得,」曹操也不是不想吃下去,退兵是無可奈何而已。「雞肋」之說,不過是曹操的自我解嘲罷了。