司馬昭任鍾會為鎮西將軍,都督關中,有伐蜀的跡象。薑維上表劉禪說:“聽說鍾會治兵關中,圖謀進取蜀漢,應該派張翼、廖化率軍分別護守陽安關口(即陽平關)和陰平的橋頭(今甘肅文縣北),以防魏軍。”《三國誌·蜀誌·薑維傳》。這時專權的黃皓信奉巫鬼,他求神問卜,說敵軍不會到來。劉禪聽信了他的話,就把薑維反映的情況和建議擱置下來,群臣都不知道,而他自己仍然終日花天酒地,對敵人不加防備。
第二年(263年),司馬昭果然派三路大軍伐蜀。一路由征西將軍鄧艾率兵三萬多人,自狄道(今甘肅臨洮縣)向遝中,進攻薑維;一路由雍州刺史諸葛緒領兵三萬,自祁山向陰平附近的橋頭進攻,以絕薑維的歸路;另一路由鍾會統領十多萬大軍,分別從斜穀、子午穀等地前進,直取漢中。
劉禪得知敵軍真的打來了,才慌忙派廖化領兵去遝中,作薑維的後援;派張翼等領兵去陽安關口協助防守。但援軍還沒到達前線,鍾會的大軍就已經打到漢中。這時陽安關的守將傅僉在孤軍無援的情況下,堅持迎戰,不料他的部下蔣舒向魏軍投降,他力戰身死。陽安關陷落,漢中被占。
西路的鄧艾軍也很快到達遝中,向薑維營地進攻。薑維得知漢中失守,便向陰平撤退。這時諸葛緒的軍隊已到達橋頭截擊。薑維從側後進擊魏軍,諸葛緒害怕,引軍後退三十裏,薑維趁機越過橋頭。薑維到達陰平後,又向南撤退,同從成都北上的廖化、張翼等軍會合後,據守劍閣。
古棧道(四川廣元)
鄧艾進至陰平後,想同諸葛緒聯合進軍江油(今四川江油市東),直取成都。諸葛緒不同意,引軍東下同鍾會軍會合。鍾會密告諸葛緒畏懦不前,押送其回京治罪,將其軍隊置於自己統轄之下,然後向劍閣進兵。
劍閣又名劍門山,在今四川劍閣縣西,有小劍山和大劍山相連。山勢險峻,飛閣通道,所以稱為劍閣。李白在詩中曾說:“劍閣崢嶸而崔嵬,一夫當關,萬夫莫開。”薑維等憑險拒守,鍾會軍連日攻打不下。
鍾會在劍閣受阻,糧食供應又困難,軍中乏食,便想引兵退還。這時,鄧艾向他提出出奇製勝的建議說:
蜀軍已經遭受挫折,我們應該乘勝前進。如果從陰平小道偷越過去,出劍閣以西百裏,向涪城,用奇兵衝其腹心,劍閣的守敵必定還救涪城,我軍就可乘勢而進。如果劍閣的蜀軍不撤退,在涪城對付我軍的力量就小了,涪城一定會被我軍攻破。《資治通鑒》卷七十八。
鍾會接受了鄧艾的建議,並要他執行這一任務。
陰平是少數民族(“氐羌”等)居住的地區。這裏崇山峻嶺,道路難走,地處偏僻,人煙稀少。漢武帝征服西南夷時,曾開鑿了陰平小道,後來廢棄了,不為人們注意,蜀軍也沒有設防,因而被魏軍鑽了空子。
鄧艾是一個有才能的將領,他身先士卒,親自探險開路,終於克服重重困難,通過了陰平小道,繞過劍閣天險,直奔江油。
據守江油的蜀將是馬邈。魏軍的突然到來,使他大驚失色,未作任何抵抗就投降了。接著,鄧艾督軍向涪城進攻。諸葛亮的兒子諸葛瞻領兵拒守涪城,被鄧艾軍打敗,退守綿竹。鄧艾乘勝追擊,不給蜀軍以喘息機會。鄧艾寫信勸諸葛瞻投降,答應表封他為琅玡王。諸葛瞻大怒,斬鄧艾使者。雙方激戰的結果,蜀軍大敗,諸葛瞻和他兒子諸葛尚都戰死。
綿竹陷落後,蜀軍無險可守,鄧艾督軍向成都推進。
魏軍的突然逼近,使蜀漢朝野上下一片慌亂。劉禪急忙召集群臣,討論對策。有的主張投奔東吳,有的主張逃向南中。光祿大夫譙周對這兩種主張都不同意,他說:“自古以來沒有投奔他國為天子的,投奔東吳免不了也要稱臣。從政治形勢看,魏國能吞並吳國,吳國不能吞並魏國,這是很清楚的。與其稱臣於吳,不如現在就稱臣於魏,免得將來再受一次恥辱。至於撤向南中,應當早作安排,現在大敵已近,人心不穩,一旦車駕南行,恐怕要發生不測之變,更談不到能到達南中了。就是到達了南中,外麵拒敵和內部需要的一切耗費,都加在諸夷身上,必然引起他們的反叛。”說來說去,譙周主張馬上向曹魏投降。他還對劉禪說:“如果陛下降魏,魏肯定會裂土分封,以禮相待。他們如果不這樣做,我就親自去洛陽以古義同他們相爭。”以上引文皆見《三國誌·蜀誌·譙周傳》。
在譙周的一再勸說下,懦弱無能的劉禪最後決定向魏軍投降。這時,劉禪子北地王劉諶(音陳,chén)竭力反對投降,主張抵抗,劉禪不聽。劉諶不願看到劉氏國破家亡,就跑到祖廟,對著劉備的靈位痛哭一番,殺死妻子,然後自殺。