229年春天,诸葛丞相也在努力,遣陈式进攻武都、阴平。曹魏大将郭淮领兵来救,诸葛丞相率军驻扎建威牵制。
此时的太平军刚刚开始打东吴,种云和诸葛丞相还在互相摸底,他也不知道汉军的实力到底如何,北伐会不会有变化。
魏军知道汉军主力到临,便紧急撤退,汉军顺利占领二郡。
诸葛丞相安抚了当地的氐人、羌人,然后留兵据守,他率军回汉中,军屯后勤很重要。
因成功夺取二郡,刘禅再次恢复诸葛丞相为丞相。冬天,徙府营至南山下的平原,建筑汉、乐二城,加强汉中防守。
从这次北伐看,诸葛丞相北伐就是战略,并没有孤注一掷的意思,种云放心了,继续专心对付东吴大军。
建兴八年(230年)七月,曹魏想转守为攻,大司马曹真上表伐蜀议案,司空陈群认为斜谷太险阻,难以进退,于是曹真率主力军改为由子午道进发。
陈泰率军从汉水而上,欲与曹真军会师汉中,张郃从褒斜道进兵,直指汉中。
诸葛丞相在汉中,魏军来攻,立即加强城固、赤阪等要地的防守,要李严率二万人赶赴汉中阻击敌人,李严子李丰为江州都督,防卫后方。
夏侯霸先大军一步,进至兴势,在曲折的谷中下营。被蜀地百姓看到。夏侯霸在鹿角间战斗,最后援军到达,汉军看无法消灭曹军,开始后退,夏侯霸才得以解围。
因蜀地艰险,期间遇上下了三十天的大雨,栈道断绝,曹真用了一个月,才走了一半路程。
曹真预想的计划不能成功,陈群的计划也没有可能,这次属于起了个大早,搞了个晚集,啥也没做到,浪费粮食。
在朝中,华歆、杨阜、王肃都上疏劝魏明帝下诏撤军,至九月,三路大军受诏撤退。
不过曹真也不算失败,天时不对,他也没有办法,曹魏皇帝也能理解,没有怪罪的意思。
同年,诸葛亮派魏延、吴壹入南安,于阳溪大破魏将郭淮、费曜等。
231年春天,诸葛丞相利用天时地利,乘曹魏雍凉地区半年没有下雨,再次进行北伐,以木牛运粮,包围祁山堡,并在祁山堡东北修建卤城作为蜀军大营。
诸葛丞相还联合鲜卑人轲比能,起兵到石城响应汉军。
曹魏因大将曹真病重,曹叡改派司马懿为统帅屯于长安,领张郃、费曜、戴陵、郭淮等人抵抗。
司马懿先派费曜、戴陵与四千精兵前往上邽防守,率其他兵力随后前进。
张郃认为该分兵驻守雍、郿,司马懿认为若分军不及合军有利,便向西推进。
诸葛丞相觉得机会来了,留下王平继续领军攻打祁山堡,率主力北上上邽。到达附近麦田,只对麦田进行了芟除破坏。
郭淮戴凌为保护麦田,仅率四千人主动进攻诸葛丞相的主力部队,为所破,仅四千人主动进攻又颇为费解,不过后勤战争不得已为之。
司马懿军也为保护麦田,日夜兼程急行军抵达上邽之东,曹军深知汉军劳师远袭,粮食补给困难,兼之经过通宵达旦的行军已为疲惫之师,因而凭险坚守,拒不出战。
诸葛丞相没有机会,便回军卤城,未能彻底破坏上邽麦田,这批粮食成了魏军对峙的资本,有必要指出的是,这一战略动作使魏军进入极度缺粮状态,司马懿、郭淮不得不从关中运粮,征取羌胡的粮谷。
司马懿本人以用兵“侵掠如火”、“兵贵神速”著称,若是有把握野战中击败蜀军,以他的军事指挥风格,不会采用坚守策略的。
事实上,初来乍到的司马懿也的确采取过进攻态势,但战果不佳。因此,其后采取防御态势,意味着在本次北伐作战中,蜀汉军队处与有利地位,而魏军居于相当不利的地位。
司马懿进军卤城,登山掘营,与汉军对峙,不与交战。
张郃认为蜀军长途来攻,“孤军食少”,必然想要速战速决。所以应该以大军屯于此处,然后分为奇兵,包抄蜀军,截断其后路。
魏军将领数次请战,司马懿都不准,诸将十分不满,便讥笑他:
“公畏蜀如虎,奈天下笑何!”
对峙一段时间,诸葛丞相也灵机一动,撤出对祁山的包围,将全部军队集中在卤城。
司马懿派张郃打通和祁山堡的联络,并命他攻卤城以南的的王平,由案中道进逼汉军。他则率众进攻卤城以北的诸葛丞相主力,力图以钳形攻势,击败对手。
诸葛丞相派大将魏延、高翔、吴班分三路领兵作战,大败魏军。斩获魏军的首级三千级,获得战利品玄铠五千、角弩三千一百张。
卤城之战在《汉晋春秋》中有记载,关于卤城之战的记载,九年,亮围祁山,平别守南围。魏大将军司马宣王攻亮,张郃攻平,平坚守不动,郃不能克。
六月,诸葛丞相也没招了,眼见粮草接应不上,而又收到后主刘禅下令北伐军撤退的圣旨,诸葛丞相也见坡下驴,引军退回。
司马懿命令张郃追击汉军,张郃认为“围师必阙,归师勿遏”。张郃不赞同追击,主动撤退的汉军,司马懿强行坚持张郃领兵追击,张郃无奈,前往追击。最后于木门道,被埋伏于高处的汉军射中,伤重病逝。
第四次北伐之前,诸葛亮派李严督粮草时,怕出问题,于是给他三种选择,叫他便宜行事:“上计断其后道。中计与之持久。下计还住黄土。”
李严怕粮运不济,就派马忠、成藩传喻旨要诸葛丞相撤军,这个没有错。
诸葛丞相回来后,李严脑子进水了,反而问:“军粮饶足,何以便归?”
另一方面,李严又向刘禅上表:“军伪退,欲以诱贼与战。”
欺骗刘禅说这是策略,又想推卸责任给岑述。
诸葛丞相早就注意了,无需调查此事,直接出示李严之前手书,明显前后不符,李严无话可说,被贬为庶人。