曹昂见天水、西凉俱失,与洛阳通道又为关羽部截断,长安形势不容乐观,召城中诸将商议。司马懿曰:“今诸葛亮平定西凉,必取安定。钟会部五万兵马驻守安定,非诸葛亮之敌。诸葛亮攻下安定,与关羽、姜维两军呈合击之势,长安危矣。观三军兵势,以姜维部最弱。长安守兵十一万,可与姜维敌也。可命使赴洛阳,让洛阳兵攻打弘农,使关羽军不得出。吾率军八万攻击姜维,姜维部兼辖三郡防务,兵力分散,吾军力战,可胜之。诸葛亮见汉中势危,必分军救之,安定之危可解也。”
曹昂使人赴洛阳,请曹丕出兵攻打弘农,牵制关羽部。随与夏侯渊、司马懿分派兵马,命钟会、贾诩、王睿、吕虏、夏侯懋率军五万守安定;曹昂、夏侯渊、夏侯霸、朱隽、司马孚、韩遂率军五万守长安;司马懿、王双、李典、于禁、司马师、司马昭率军六万攻打汉中。
因吴城之失,金旋使诸路军分兵驻防邻近内郡。汉中临下弁、上庸两郡,姜维使王平统兵两万驻守下弁,张嶷统兵两万驻守上庸,自率魏延、谭雄、李严九万大军驻守汉中。
长安赴汉中路上有一关隘,为两郡必经之地,名曰散关,防务简陋,比营寨略强。姜维因下弁、上庸两郡防守空虚,惧司马懿多谋,绕汉中攻击两郡。使李严、谭雄率领四万兵马驻守汉中,与魏延引五万精兵往守散关,迎击司马懿部。
司马懿统兵来到,两军对阵。魏延、姜维皆勇冠三军,曹将李典、于禁、王双出战皆败。司马懿见不能胜,率军于关外扎寨。
时司马懿训得铁盾兵,使军士两人配对,一持盾、短匕,一持长枪。其盾大于常盾数倍,作防守用。作战时前人持盾护两兵身躯,后人窥隙挥枪直击。其盾作战不利时又能相互相接,如城垛状,能挡敌军强弓。时此军已训成一万,随军征战。
次日,司马懿率军挑战,姜维使魏延掠阵,自出迎战。两军混战,司马懿率军回撤,至铁盾兵阵之处,率军入阵,铁盾兵合拢。姜维率领本部兵追到,见铁盾兵环成一圆圈,司马懿部尽在圆圈之内。姜维让弓兵射击,触盾既落。命步兵冲击,离阵远时,曹军弓兵发箭,伤兵甚众。姜维又使朴刀兵持盾攻击,冲击敌阵,然而铁盾相连,极其坚固,盾后长枪兵乘隙而击,朴刀兵刀短,正为长枪所克。姜维见敌阵难破,鸣金收兵。司马懿见姜维部回军,率领大军杀上,姜维部大败,折兵五千余。又交阵几次,司马懿以铁盾兵连胜。
姜维苦思无计,使人绘铁盾兵图式报诸葛亮,自与魏延率兵坚守。司马懿铁盾兵防守严密,然进攻则非所长,攻散关不下。