到了冬天,孔明带军复出散关,围陈仓。魏将曹真应战,但后来因为粮食不足而退军。
魏将王双追他,孔明设计,叫魏延把王双斩了。
建兴七年(229年)四月,孔明再出师祁山,攻破阴平、武都两郡。
建兴九年(231年),孔明复出师祁山,他发明了运输工具——木牛和流马,可惜后来失传了。
那时魏大司马曹真已经死了,只有司马懿和张郃等共同对抗孔明。
司马懿很怕诸葛亮,他到了前线,只是登山掘营,不肯出战。
有人笑他:“你怕四川的兵,像怕老虎一样,不怕为天下人所笑吗?”
后来孔明因为粮食不足而退兵。
张郃想追赶孔明的军队,司马懿说:“你太性急,不能去。”
张郃说:“都督出关的时候,叫我做先锋。现在正是立功的时候,却不许我去,是何缘故?”
司马懿说:“蜀兵虽然退了,但险阻的地方,一定有伏兵,你要追他,要非常谨慎才行。”
张郃说:“我已经知道了,不必挂念。”
司马懿说:“你一定要去,不要后悔。”
张郃说:“大丈夫舍身报国,死也不要紧。”
于是司马懿让张郃带兵前去。
张郃领兵前进,行了三十多里,忽然一片喊杀声,树林里跑出一队军马,为首的大将,横刀勒马大喊:“贼将带兵到哪里去?”
张郃回头一看,是蜀将魏延。
张郃大怒,急引兵与战。不一会儿,魏延引兵逃走。张郃不知道这是孔明的计策,引兵前追,追了很远的路。天色已晚,他们追到木门道,两岸都是峭壁。忽闻一声梆子响,只见万箭齐发,张郃的军队全军覆没。
建兴十二年(234年)春天,孔明又要出兵,他入朝奏后主说:“臣养恤兵士已经几年,粮足兵强,正可伐魏。这次要不扫清奸贼,恢复中原,决不班师。”
后主说:“现在天下已成鼎足的形势,吴、魏都不能攻进来,丞相为什么不安享太平?”
孔明说:“臣受了先帝知遇之恩,睡里梦里,没有一刻不想攻魏的计策。竭力尽忠,帮陛下克复中原,重兴汉室,这是臣最大的志愿。”
出兵之后,由斜谷出,据武功五丈原,同司马懿对垒。
孔明因为屡次出兵,都因为粮食不继,粮尽退兵,于是分兵屯田,以为长久的计划。
司马懿仍旧是坚守不战。
孔明派人送给司马懿女人的服饰,司马懿大怒,上书请求交战,皇帝派卫尉辛毗手持使节担任军师来制约司马懿。护军姜维对诸葛亮说:“辛佐治持使节到了,敌人肯定不会出战了。”
孔明说:“司马懿本来就没有出战的意思,所以坚持请求出战,是为了激励士气。将军在部队中,皇帝的命令也可以不接受,如果他真能够战胜我,何必要不远千里去请示呢?”
司马懿曾向蜀汉使者询问诸葛亮的睡眠、饮食和办事多少,而不打听军事情况,使者答道:“诸葛公早起晚睡,凡是二十杖以上的责罚,都亲自披阅,所吃的饭食不到几升。”
司马懿告诉人说:“孔明进食少而事务烦,他还能活多久呢!”
孔明乃分兵屯田,打算长期驻扎下去,但没多久便因过于操劳而病重,并且病情日益加重,最终病死在军中。
按照他的部署,秘不发丧,整顿军马从容撤退。
司马懿认为孔明已死,率军追击,姜维推出雕刻成孔明模样的木雕并率领大军回返,司马懿看到木雕,以为是孔明装死引诱魏军出击,赶紧飞马撤退。
于是蜀军从容退去,进入斜谷后,才讣告发丧。
司马懿听闻蜀军在斜谷发丧后自嘲道:“吾便料生,不便料死故也。”
其后,司马懿视察蜀军遗留的营寨,感叹说:“孔明真是天下奇才啊。”