魏军继续逼近蜀军,双方在祁山一带展开了几个回合的攻防战:
《晋书》记载:在汉阳,魏军与蜀军相遇,司马懿使将牛金(司马懿带来的荆州勇将,原曹仁的部下)轻骑饵之,“兵才接而亮退”,双方都在进行着试探性攻击,只是诸葛亮在撤退途中,未能选准好的战斗位置,而继续退却。
诸葛亮退至祁山附近,屯驻卤城,据南北二山,断水为重围。
在这里,《晋书》与《资治通鉴》的记载很不相同。
《晋书》记载:“帝攻拔其围,亮宵遁。追击,破之,俘斩万计”。
而《资治通鉴》没有采纳唐代编纂的《晋书》说法,而是采纳了《汉晋春秋》的说法,记载:“(司马懿)既至,又登山掘营,不肯战。贾嗣、魏平数请战,因曰:“公畏蜀如虎,奈天下笑何!”懿病之。诸将咸请战。”
也就是说,在祁山附近,双方应该是陷于僵持。这个时候,诸葛亮同样面临他在上邽时的局面,腹背受敌。
在张郃等全体魏军将领的强烈要求下,司马懿终于进行了较大一次与蜀军的战斗。
要知道,当时的张郃仅仅比司马懿位置低一点,又是百战名将,并且长期与蜀军交锋。《三国志张郃传》也称,当时是皇帝下诏由张郃都督诸位将领来救祁山。可见,张郃在军中说话的分量。
于是,直到五月份,司马懿部才开始部署军队直接进攻诸葛亮中军,派张郃进攻南面王平的大寨。诸葛亮则派魏延、吴壹、高翔等对魏军展开反击,双方展开激战,均有不少的伤亡;同时,由于王平忠勇善战,张郃军攻击何平(王平)的行动也没有成功。其中,《汉晋春秋》记载,这一战蜀军获甲首(有不同说法,个人认为是正规重装士兵的首级)三千级,玄铠(个人认为是重甲骑兵的铠甲)五千领,角弩(远程攻击武器,一般位于步骑之后,蜀军缴获如此之多,可见步兵是遭到了惨败)三千一百张。