公元263年八月,魏军兵分三路伐蜀:征西将军邓艾率兵3万余人,由狄道进军,以牵制汉大将军姜维驻守沓中的主力;雍州刺史诸葛绪率3万余人,进攻武都,以切断姜维退路;钟会率主力12万人,欲乘虚取汉中,然后直趋成都。
其实早在年初,远在沓中屯田避祸的姜维早就看破了司马昭的声东击西之计,并且对钟会屯兵长安的举动有所探知。景耀六年(263年)元月,姜维就上表奏后主说:“闻钟会治兵关中,欲规进取。宜并遣张翼、廖化诣督堵军分护阳安关口、阴平桥头,以防未然”。
在这紧要关头,后主刘禅不听人言却信鬼神。他令宦官黄皓请来巫者预言,认为敌人不会到来。于是将姜维的表章压下,不予理睬,连朝中重臣都不知道有此事。
直到魏将钟会将要进入骆谷,邓艾将要进入沓中时,后主这才派右车骑将军廖化率军去沓中援助姜维,派左车骑将军张翼、辅国大将军董厥等率兵去阳安关中。
廖化援军还未到达阴平,魏将天水太守王颀,陇西太守牵弘等人已经开始攻击姜维的前部,而金城太守杨欣也已经挺兵进击甘松。
姜维在沓中见邓艾的军队攻来,又听说钟会进军汉中,阴平桥头又没有援军,遂立刻帅本部三万兵东撤,退往阴平。魏将杨欣等人追击,直到疆川口,双方大战,姜维败退。
但邓艾军却也牵制姜维不住。姜维退至阴平桥头,被占据桥头的诸葛绪所阻。姜维于是从孔函谷佯作向北绕道而东,作出欲迂回攻击诸葛绪后部的样子。诱使诸葛绪离开桥头三十里向北堵击。姜维乘机迅速通过桥头,与廖化等合兵。
诸葛绪赶去阻截,差了一天,没有赶上。此次魏军东堵西追,想在西北方向战场歼灭或是缠住姜维。最终邓艾的西方三路出击却都扑了个空。一步之差,先发制人不成,反被姜维抢了先机。由于是兵分三路,之后即使追上姜维,也不是全军齐上了,故此仅和蜀军一战,便无力穷追猛打了。由于这样,诸葛绪虽然成功占领阴平桥头,却因为姜维成功摆脱了后面的追兵,得以大摇大摆的入北道三十里,迫得诸葛绪不得不引军急退。
这边姜维虽然摆脱了邓艾的纠缠,但钟会的十二万大军已经从斜谷、骆谷、子午谷三路并进,直入汉中。汉中要塞阳安关口因苦候援兵不至,主将傅佥战死,副将蒋舒献关投降。
阳安关口既克,钟会遂引兵长驱南下,汉中大部失落,仅余黄金、乐城、汉城三地要隘。姜维想要去援救阳平关,却听说阳安关口已经失陷。此时张翼、董厥的军队正好也才到达汉寿。姜维、廖化于是舍弃阴平退回,和张翼等会合。此时汇合后的大军约有五万余人,于是姜维退守剑阁,据险抵御正面钟会的十二万魏军。
十月,邓艾趁姜维被钟会牵制在剑阁,率一万多魏军精锐,自阴平沿景谷道东向南转进。南出剑阁两百多里,攀登小道,凿山开路,最终越过7百余里无人烟的险域。虽然已经是“粮运将匮,频於危殆”,但终于抵达江油。
江油关口雄据石门,滨临涪水。一面大江,三面悬崖,是和剑阁齐名的天险雄关。这时的邓艾本来已经是到了山穷水尽的地步了,只要江油守将能够凭借天险守上个十天八天的,邓艾的魏军将会不战自溃。但江油守将马邈却不战而降,献出险关,让邓艾有了第一个立足据点和喘息之机。
邓艾自阴平进入景谷旁道后,成都方面已经知道这个消息了。后主令行都护卫将军诸葛瞻督率诸军拒敌,邓艾的奇袭战略至此可称破产。
可是诸葛瞻的大军到达涪城之后却止步不前。尚书郎黄崇劝告诸葛瞻速速前行,占据险要,不要让魏军进入平地,但诸葛瞻却不采纳其言。黄崇屡次进言,乃至痛苦流涕,诸葛瞻始终不为所动,依旧在驻在涪城不前。邓艾击破诸葛瞻的前锋,诸葛瞻一闻前锋被破,就引兵自涪关后撤一百多里,退守绵竹。又把涪关险城当大礼送给了邓艾。
进屯绵竹后,诸葛瞻才意识到自己在战略上已经铸成大错,长叹:“吾内不除黄皓,外不制姜维,进不守江油,吾有三罪,何面而反?”最后不得不在平原之地和魏军进行野战。
留守在成都大后方的兵将承平既久,武备不修,战力自然极为低下。据险而守尚可一战,在平坦旷野和魏军铁骑进行野战却不是对手。是役蜀军伏尸数万,诸葛瞻和黄崇、尚书张遵(张飞之孙),羽林右部督李球均战死沙场。之后怀帝刘禅听从谯周主降的建议,不加抵抗投降了魏国。
姜维等坚守剑阁,惊悉绵竹失守,接着混乱的消息接踵而至。有的说后主想固守成都,有的说后主要向东投奔盟国东吴,有的说后主要向南进入建宁。姜维恐腹背受敌,遂引军退至巴西境。行至郪县时,后主诏书传来,命令全军投降。姜维接诏,“将士咸怒,拔刀斫石”。但事已至此,只好奉诏到涪城向钟会投降。蜀汉至此遂告灭亡。