公元249年,蜀国辅汉将军姜维发兵北伐,与曹魏雍州刺史郭淮交战,打成平手。此战姜维主动出击,劳师远征,对己方损耗极大,却不能给对方造成实质性打击。
姜维原为曹魏所属天水郡参军,228年诸葛亮率军攻打天水,天水太守马遵弃城,姜维被迫归降蜀汉。姜维归降蜀汉后受到重用,并深得诸葛亮真传。后来诸葛亮去世,他一心想继承诸葛亮遗志,完成北伐中原、复兴汉室的大业。
姜维此次北伐颇具优势,曹魏占领的陇右地区(今甘肃南部)是姜维老家,他对那里的地形了如指掌,于是快速攻占了势险要的麹城(今甘肃岷县以东),又在麹城附近建了要塞,把这里作为北伐的前哨阵地,派兵把守。而他自己则屯兵附近的牛头山,作为北伐大本营。对于最困难的粮草问题,因为姜维跟陇右的羌人有交情,就请他们帮忙运送粮草,也算妥善地解决了大问题。
但曹魏一方,与姜维对峙的雍州刺史郭淮很快发现了蜀军的破绽:麹城虽然地势险要,但离姜维的大本营较远,救援困难,运粮更困难,一旦缺粮,形势会非常危急;虽然有羌人运送粮食,但羌人不服管束,忠诚度低,遇到困难就会作鸟兽散。
郭淮基于这个判断,派部下陈泰把麹城团团围住,但他命陈泰只断麹城的粮道和水源,并不攻城。蜀军一再挑衅,陈泰都坚守不出。运粮的羌人见此情况果然不见了踪影。时间一长,麹城的粮食和饮用水都见底了,蜀军将领苟安把有限的粮食分给士兵,让他们自己算着日子省着吃,没有水就化雪水喝。
麹城如此危急,驻守牛头山的姜维只好率兵营救,可这正中了郭淮的计策。他跟陈泰各引一支人马朝牛头山而去,企图截住救援麹城的蜀军的归路,给姜维来个瓮中捉鳖。
此时蜀汉掌权的大将军费祎主张休养生息、强国富民,并不赞同姜维北伐,只是碍于北伐毕竟是诸葛亮定下的国策,费祎不敢明着反对,利用权力阻挠姜维调兵。所以此次北伐,姜维可以支配的兵力只有一万,还得分守麹城和牛头山两处。
这种情况下,发兵救麹城后,留守牛头山的军队就所剩无几了。好在姜维也是聪明人,担心被截后路,边走边派人侦察,果然出发不久,就发现郭淮和陈泰分兵而来。为保住大本营,姜维只得放弃救援麹城,撤回牛头山。麹城的蜀军等不到救援,只好开城投降。郭淮来到牛头山,跟姜维交手,不分胜负,于是引兵退去。
姜维这次北伐,未取得任何战果,反而葬送了麹城的蜀军。此后费祎去世,姜维升任大将军,又连年对魏用兵。但每次的战果都不如人意。而蜀国却因为屡次兴兵,被掏空了国库,与魏国的实力上的差距越来越大。
