冬去春来,又一年过去了。公元255年的正月,魏国淮南再次发生反司马氏的兵变。魏国镇守淮南的大将毌丘俭、文钦于寿春集结五六万魏军讨伐司马师,司马师率军亲征二人,毌丘俭、文钦孤立无援,当月毌丘俭被杀,文钦投吴。到了三月,司马师在返回之后也很快染病身亡,魏国朝政由司马懿次子司马昭主掌。魏国政局一系列的人事更迭又给了姜维进军的机会,但此时蜀汉朝堂之上也开始有了不满的声音。大将张翼认为蜀汉国小民疲,不应滥用武力经常打仗,他在朝堂之上与姜维力争,姜维晋升了张翼官职让他同去,张翼不得已只好跟随。
这年夏天,姜维扬言兵分三路,实则仍主攻陇西狄道。此时郭淮已经去世,陈泰正式升任征西将军,雍州刺史一职由王经接任。陈泰接到王经的报告说姜维、夏侯霸从南安、金城、石营兵分三路而来,同样请求分兵三路御敌。陈泰认为分兵作战是兵家大忌,蜀军也未必有如此大规模的兵力,判断这一情报有误。陈泰进军至陈仓(今陕西宝鸡东,是汉中通往关中的要道),遣王经先行进驻狄道仔细打探蜀军动向,等各路魏军集结之后再发动进攻。八月,姜维大军已经进至枹罕(县名,今甘肃临夏东北),很快就要抵达狄道。
王经原本只是一介文臣,没有什么军事经验。但他麾下有兵士数万人,又全都是陇西的精锐部队。王经认为蜀军远道而来,此时应予以痛击,于是在与未与陈泰等人会合前便渡过洮水(水名,源出甘、青两省边境,流经甘肃西南部汇入黄河),自行向姜维发动进攻。轻敌者必败,这是验证过无数次的真理,何况面对的还是善于正面野战的蜀汉军队。结果可想而知,王经被打得大败,在率败军渡过洮水返回狄道时又被姜维追上痛击,魏军将士战死、溺亡的总共有好几万人。最后,随王经退回狄道的魏军仅剩万余人。
回想一下蜀汉对魏国作战的几次大捷,早年蜀汉建立前刘备在赤壁大败曹操;后来关羽的水淹七军俘获三万魏军。这一次洮水大捷,是自诸葛亮北伐魏国以来蜀汉获得的最大一次胜利,只不过因为相关史料记载甚少而被后人忽略了。
王经折损的几万魏军数目到底是多少,史书并无记载。不过我们可以推算一下:后来魏灭蜀战役中魏将军诸葛绪也任雍州刺史一职,诸葛绪带去征蜀的士兵有三万人,洮水一战王经是在境内作战,集结士兵数量肯定会多于远征蜀国时的诸葛绪。假设随诸葛绪远征的三万士兵占雍州兵力的三分之二,那么境内作战的王经就很有可能集结了近五万魏军。加之他敢于无视上司陈泰合兵的命令自行进攻,可见其统率魏军规模的庞大,最后王经退守狄道时仅剩残兵万余人,所以很有可能被姜维歼灭的魏军人数达到了三万。
不管是几万人,这的确是一场大捷。姜维乘胜将狄道城团团包围,不过一时还无法攻克。张翼担心久攻不下将会前功尽弃,再次劝阻姜维停手撤兵。姜维十分生气的说道:“画蛇添足!”看来这一次姜维想拿下狄道城作为“蛇脚”画到蛇身上。此时各路魏军已经接到王经惨败的消息,魏将军陈泰、邓艾、王秘、胡奋的援军纷纷赶到。邓艾等几位将军向陈泰建议:目前魏军陇西的精锐尽丧,军队士气已经低落到了极点,赶来增援的大都是临时拼凑的部队,也不是姜维对手。整个战局就像是壮士被毒蛇咬伤了手必须要断腕一样,眼下应该避开蜀军锋芒,放弃狄道再作良图。
众将的这一番建议让陈泰十分生气,陈泰向众将表示:现在蜀军受挫于狄道城下,两军士气已经此消彼长;攻城需要的战车、大盾也好,堆积土山也罢都需要三个月的时间才能完成,姜维野战得手,攻城却没有任何准备;加上蜀军孤军深入粮草不济,狄道城被洮水环绕,蜀军在洮水里面,魏军居高临下占据险要就等于扼住了蜀军的脖子,姜维必定会逃跑,现在是救援的最佳机会,怎么可以说不救呢?最后,陈泰力排众议率军秘密沿山而行,在绕过姜维布置的伏兵后成功抵达狄道城东南的高山之上。陈泰命士兵在山顶点燃烽火,擂鼓吹号,守城魏军远远望见援军后士气顿时大增,姜维闻讯也立刻向陈泰发起进攻,但被居高临下的魏军击退。此时拿下狄道已经不可能了,陈泰又与王经秘密约定日期夹击蜀军,姜维同样预感到再呆下去会有被围歼的危险,于是见好就收于九月引兵退还。由于之前打了大胜仗,这一次退军并没有撤回汉中,而是驻扎在钟题(城邑名,今甘肃成县西北),这一年余下的几个月也都是在魏国钟题度过的。