蜀汉的姜维听说魏国分出关中的兵力去支援淮南,想乘虚攻向秦川,于是就率领数万人出骆谷,到达沈岭。当时长城一带积存的粮食很多,而守兵很少,征西将军都督雍州、凉州诸军事司马望和安西将军邓艾就进兵占据了那里,以抵挡姜维。姜维筑营垒于芒水一带,多次出来挑战,而司马望、邓艾不应战。
当时,姜维屡次出兵征战,蜀人愁苦不堪,中散大夫谯周作仇国论以讽谏说:“有人问古代能以弱胜强者,他们的方法如何?曰:我听说,处于大国地位而无祸患者常常多有轻慢,处于小国地位而有忧虑者常常想着向善怠轻之事多就会出现内乱,想着向善就能使国家安定,这是普遍的道理。因此周文王善于养民,就能以少取多句践能够抚恤众人,就能以弱胜强,这是他们的方法。有人说:以前,项羽强而汉高祖弱,互相交战,后来项羽与汉高祖约定中分天下以鸿沟为界,各归本土生息养民,张良认为民心一旦安定,就难以再发动,于是率兵追击项羽,终于消灭了他。难道一定要像文王那样行事吗?回答说:在商、周之际,王侯世代尊贵,君臣之分久已稳固,人民已习惯于专心事其君上深深扎根的东西难以拔除,依托稳固的东西难以迁移。在那个时代,即使是汉高祖又怎能靠持剑策马而夺取天下呢?到秦朝废弃分封侯国设置郡守之后,百姓被秦朝的苦役搞得疲惫不堪,天下已经土崩瓦解,或者每年换个君主,或者每月换个主公,如同鸟兽般惊恐不安,不知所从,于是豪强们并力争夺天下,如狼似虎地撕裂分割,迅速搏杀者所获就多,行动迟缓者就被吞并。如今我们与古代都是经历改朝换代而流传的国家,既不是秦朝末年天下鼎沸纷争的时代,实际上却有六国并立称雄的形势,因此可以行文王之事,难以有汉高祖的作为。百姓的疲劳就是产生骚动不安的前兆在上位的骄慢而在下位残暴,就会出现土崩瓦解的形势。谚语说:“射箭如果屡次不中,不如慎重瞄准之后再发射。”因此有智谋的人不为蝇头小利而动心,不为似是而非的情况改变常态,时机成熟以后再行动,形势适宜以后再举兵,所以商汤、周武的军队不用再次战斗就能取胜,实在是因为重视人民的劳苦状况而能审时度势。如果竟然竭尽武力滥用征伐,出现了土崩瓦解的形势,又不幸遭遇危难,那么即使有有智谋的人也将不会有挽回局势的谋略了。
魏高贵乡公甘露三年戊寅,公元258年春季,正月,文钦对诸葛诞说:“蒋班、焦彝认为我们不能出城而走,全端、全怿又已率众投降,这正是敌人没有防备的时机,可以出城一战了。”诸葛诞和唐咨等人都认为很对,于是就大力准备进攻的器具,连续五六个昼夜进攻南面的包围,想要突破重围而出。包围圈上的魏国诸军站在高处发射石车火箭,迎面烧破敌方的进攻器具,箭石像雨一样泻下,死伤者遍地,流血充满堑沟,诸葛诞等又被迫返回城中。城内的粮食越来越少,出城投降者有数万人之多。文钦想让北方人都出城投降以节省粮食,留下他与吴国人一起坚守,但诸葛诞不同意,从此两人之间互相怨恨。文钦平时就与诸葛诞有矛盾,只是因为反对司马昭的想法相同而结合,事态紧急了就愈加互相猜疑。文钦进见诸葛诞商量事情,诸葛诞就杀掉了文钦。文钦之子文鸯、文虎领兵在小城中,听到文钦的死讯,就想带兵去为父报仇,但众人不为他们效命,二人随即独自越过城墙逃出来,投降了司马昭。军吏请求杀了他们,司马昭说:“文钦罪不容诛,他的儿子本来也应该杀掉但文鸯、文虎因走投无路而归顺,而且城还没攻破,杀了他们就更坚定了城内敌兵的死守之心。”于是赦免了文鸯、文虎,让他们率数百骑兵巡城高呼:“文钦之子尚且不被杀,其余之人有什么可害怕!”又让文鸯、文虎都担任将军,并赐爵关内侯。城内之人闻讯都很高兴,而且人们也日益饥饿困乏。司马昭亲自来到包围圈,见城上持弓者不发箭,就说:“可以进攻了。”于是下令四面进军,同时鼓噪呐喊登上城墙,二月,乙酉二十日,攻克寿春城。诸葛诞情急窘迫,单枪匹马率领麾下突击小城想要闯出城,司马胡奋手下的兵士把他杀死,又诛杀其三族。诸葛诞麾下的数百人,都拱手排成队列,却不投降,每杀一人,就问其余的人降不降,而他们的态度终究不变,以至于最后全部杀尽。吴将于诠说:“大丈夫受命于君主,带兵来救人,既不能取胜,又要被敌人俘虏,我决不如此。”于是就脱掉盔甲突入敌人兵阵而战死。唐咨、王祚等人都投降了。俘虏的吴国兵卒有一万多人,缴获的兵器堆得像山一样。
司马昭当初包围寿春之时,王基、石苞等人都想加紧攻城,司马昭认为:“寿春城墙坚固而兵力众多,攻城必然损失兵力,如果再有外部敌人来犯,就要表里受敌,这是危险的做法。现在三个叛将相聚在孤城之中,天意或许会让他们同时被杀,我当以完备的计策把他们围困在城中。我们只坚守三面,如果吴兵从陆地而来,军粮必少,我们就用游动的轻骑兵断绝他们的运粮道路,这样可以不战而打败敌人。吴兵失败,文钦等人必成笼中之鸟了。”于是命令诸军停止进攻坚守不动,终于不用频频进攻而破城取胜。议论者又认为:“淮南地区仍为叛逆之徒所占据,这些吴兵的家室都在江南,不可放他们回去,应该把他们全活埋。”司马昭说:“古人用兵,以保全对方的国家为上策,只杀其首恶而已。吴兵得以逃回去,正好可以显示我国的宽宏大度。”结果一个不杀,把俘虏分布在三河地区接近京师的地方加以安置。又授予唐咨安远将军之职,其余的副将,也都给了他们相应的地位和封号,众人都心悦诚服。那些淮南将士吏民被诸葛诞所胁迫掠虏而来的,也都赦免放回。听任文鸯兄弟收敛其父之尸,并给他们车与牛,拉到旧墓安葬。
司马昭给王基写信说:“当初议论众说纷纭,要求转移到北山的人很多,当时我没有亲临营垒实地勘察,也认为应该转移。将军深入地考虑利害得失,独自坚持固定的意志,上边违背朝廷诏命,下面拒绝众人之议,终于制服敌人擒获贼兵,即使是古人所说那些忠臣良将,也不能超过你。”司马昭想派遣诸军轻兵深入,招抚迎接唐咨等人的子弟,利用敌人的内部裂痕造成消灭吴国的形势。王基进谏说:“以前诸葛恪乘着东关获胜之机,竭尽江南的兵力以围攻新城,城既没有攻克,而兵士也死了大半。姜维凭借洮西的便利条件,轻兵深入,结果粮饷不继,军队在上遭到覆没。在取得大胜之后,上下之人就会轻敌,轻敌则考虑困难的一面就不深。如今敌人在外部刚刚失败,内部忧患又没有弭合,这正是他们加紧防备设计御敌的时候。而且我们的兵士外出已经一年多了,人人都有归家之心,如今我们歼灭敌兵十万,擒获罪人,自历代征伐以来,还没有既保全兵力又获得全面胜利的战役能象这次这样的。武皇帝在官渡战胜袁绍,自认为所获已很多,就不再追杀,这是惧怕挫伤自己的威势。”于是司马昭就停止了这次行动。任命王基为征东将军,都督扬州诸军事,并晋封他为东武侯。
司马昭攻克寿春,钟会出谋划策很多因此,司马昭对他日益亲近重视,委任他办理机密要事,当时人把他比之为汉代的张良。
蜀汉的姜维听到诸葛诞已死,又返回成都,重新担任大将军之职。
夏季,五月,诏令任命司马昭为相国,封为晋公,食邑八个郡,加赐九锡司马昭先后推辞了九次,才收回成命。