244年3月,
曹爽西至
长安(今西安西北),任命亲族
夏侯玄(
夏侯渊从子
夏侯尚之子,玄母为曹爽的姑姑)为
征西将军、都雍凉诸军事,雍州刺史
郭淮为夏侯玄军前锋。三月,曹爽自己从
长安率数万人出发和夏侯玄的部队会合,从
骆谷合兵十余万,自骆谷口攻汉中。时蜀汉
镇北大将军王平守汉中,兵不满3万。他否定了部将收兵固守汉城(今勉县东)、
乐城(今城固县桔园镇万家营村)待援的建议,认为援兵太远,放敌入关(
阳平关)必为祸,乃遣护军刘敏等领兵据兴势(今陕西省洋县八里关镇)拒敌,并多张旗帜,绵延百余里,以壮军威。王平自率军在后,兼防魏军分兵从黄金谷(兴势东)来攻。(“今力不足以拒敌,听当固守汉、乐二城,遇贼令入,比尔间,涪军足得救关。”平曰:“不然。汉中去涪垂千里。贼若得关,便为祸也。今宜先遣刘护军、杜参军据兴势,平为后拒;若贼分向黄金,平率千人下自临之,比尔间,涪军行至,此计之上也。”惟护军刘敏与平意同,即便施行 ——《三国志·蜀志·王平传》)四月,魏军被阻于兴势,供给困难,牛、马、骡、驴多死,兵疲意懈;而时任蜀汉大司马、益州刺史的蒋琬和监军姜维率领的涪军及时赶至汉中进行增援,大将军
费祎随后又自成都督军赶到,反攻了不堪重负的入侵魏军。【 (延熙)四年冬十月,尚书令费祎至汉中,与蒋琬谘论事计,岁尽还。五年春正月,监军姜维督偏军,自汉中还屯涪县。六年冬十月,大司马蒋琬自汉中还,住涪 ——《三国志·蜀志·后主传》。涪诸军及大将军费祎自成都相继而至,魏军退还,如平本策——《三国志·蜀志·王平传》】
魏参军杨伟认为形势不利,劝
曹爽急退,
邓飏还在强词夺理,气得杨伟骂道:“邓飏、李胜两人拿军国大事开玩笑,应当斩首!”曹爽很不高兴,不愿退兵。太傅
司马懿在曹爽进军前就表示反对,此时亦急致书
夏侯玄,指出有全军覆没之险:“以前武皇帝与
刘备征战汉中,差点一败涂地,你不是不清楚。如今蜀军已占据兴势,你们前攻不能进,后路再被蜀军包抄,等到全军覆没,恐怕连负责任的命都没了!”夏侯玄吓得清醒过来,也劝谏曹爽撤军,曹爽才很不情愿地答应。五月,
费祎知魏军将退,率军绕道占据三岭(即沈岭、衙岭、分水岭。均在今陕西
周至县西南之骆谷中),断其归路。曹爽遭截击,督军争险苦战,死伤惨重,逃回关中。费祎因此战进封成乡侯,并在汉中逗留到244年9月才返回成都。
此战是古代以攻势防御取胜的一个典型战例,王平本传说得很简单,后世却津津乐道于此战。在刘伯温所著的《百战奇略》中,此役被归类为“退战”,说两军作战,如果敌军占据险地,战局陷入困境,就应早早退兵,以保全军。
东路是最长的,总长超过330km,北端直达长安以南,南段称为“子谷”,北段称为“午谷”。子午谷崎岖的地貌提供了大量可以伏击的地点,设伏方可以轻易全歼谷内敌军,所以这条最长的路线也是最危险的。如果蜀汉发动攻势,经此道路可以轻易威胁长安,这也是
诸葛亮首次北伐时
魏延所建议走的路。
西路是长235km的
褒斜道,在三条峡谷之中路况最好,北段称为“斜谷”,南段称为“褒谷”,其南端在汉中北约25km处,北端在今陕西
眉县南15km处。在褒斜道中心,另一条峡谷箕谷向西延伸,然后转而向北,最终止于当时蜀汉进攻受到威胁的战略要地陈仓附近。如魏采取攻势主动出击迎敌,良好的路况意味着蜀军能更快地聚集守军并在魏军出谷前阻止其进攻。
中路是210km长的
傥骆道,它是最短的一条,以其两端得名。南端接近今陕西
洋县的傥水河,北端在今陕西
周至县西面的
骆峪。因此,其南段叫“傥谷”,北段叫“骆谷”。此路虽然最短,但路况最糟。更重要的是,在三条路中,傥骆道没有水源的路段最长,因此,攻蜀军队必为后勤所羁绊。曹爽选择从中路攻蜀,即犯了这样一个重大的战略错误。魏军出谷前,大量负责运输的牛、马、骡、驴等驮运牲畜因缺水而渴死。曹爽只得征调数万役夫为苦力运输粮草,其中很多也渴死了。魏军士气骤降,曹魏不满曹爽主政的情绪迅速蔓延。
244年3月,曹爽提拔
夏侯玄为
征西将军,任命雍州刺史郭淮为前锋,他们合兵经傥骆道进军汉中。曹爽门生
邓飏、李胜作为谋士随军参战。魏军的基础目标是
阳平关。
蜀汉镇北大将军王平守御汉中,但总兵力不足3万。面对数量上的绝对劣势,一些蜀军将帅建议集中兵力防御
汉城和
乐城。王平拒绝了,他认为援军路途遥远,到达需要时间,一旦敌军畅通无阻地通过了阳平关,蜀汉就大祸临头了,故只能利用崎岖地貌的地形优势阻挡敌军。护军将军刘敏奉命在兴势山中安营,多树旗帜,绵延百余里,制造守军比实际更多的假象。王平亲自率军在后,以防魏军经兴势山东的黄金谷分兵来袭。正如王平所料,4月,魏军在兴势山受阻。因补给线过长,牛、马、骡、驴等驮运牲畜几乎全部死亡,补给耗尽。而时任蜀汉大司马、益州刺史的蒋琬和监军姜维率领的涪军及时赶至汉中进行增援【 (延熙)四年冬十月,尚书令费祎至汉中,与蒋琬谘论事计,岁尽还。五年春正月,监军姜维督偏军,自汉中还屯涪县。六年冬十月,大司马蒋琬自汉中还,住涪——《三国志·蜀志·后主传》】,大将军
费祎随后又自成都督军赶到,反攻了
不堪重负的入侵魏军。
曹爽的
参军杨伟意识到危险,求曹爽放弃行动立即撤军,但
邓飏反对,不顾自己缺乏军事常识与杨伟争论。杨伟未能说服他们,愤然说:“邓飏、
李胜败坏国家,可以处斩。”曹爽不悦,拒绝了两人的建议。
太傅司马懿最初就反对此战,他认为此时再不能忽视如此危险的境况,写信给夏侯玄以示即将到来的灾祸,并警告对方应该注意到当年
曹操在汉中争夺战中几乎遭
刘备完败的教训。蜀军牢牢控制着兴势山,阻止魏军前进。一旦另一支蜀军断其退路,曹爽和夏侯玄就没命负这个责任了。夏侯玄读信,意识到处境危险,就去说服曹爽,曹爽终不情愿地下令撤军。郭淮估计形势不利,率本部先撤,免于大败。
费祎却不愿让曹爽轻易撤军,率军攻魏军侧翼,断其退路。蜀军在对魏军享有绝对地理优势的骆谷三岭(
沈岭、衙岭和
分水岭)安营。曹爽及其军队在行军中因饥渴和疾病付出惨重伤亡代价后勉强逃回关中。
费祎因此胜获封成乡侯,留守汉中直至244年9月返回成都。相反,
曹爽的威望和影响力骤跌,为他以后在与司马懿的权力争斗中最终倒台埋下了伏笔。