公元234年,诸葛亮领兵伐魏,六出祁山。魏明帝曹睿闻报,命司马懿为大都督,领兵40万至渭水之滨迎战。司马懿屯大军于渭水之北,命先锋夏侯霸、夏侯威领兵5万渡河至渭水南岸扎营,又在大营后方的东原筑城驻军,进可攻退可守,稳扎稳打,务使魏军立于不败之地。
诸葛亮深知自己最根本的弱点就是我远离后方,粮草困难;他同时也深知司马懿正是看准了自己这一点,一直在设法使蜀军断粮,从而困死或逼退蜀军,然后乘机取胜。于是诸葛亮便将计就计,在粮草上设诱饵,以此引“他”离山。
首先,分兵屯田,与当地百姓一起就地生产粮食,以供军需,摆出一副持久作战的架势。果然司马懿的长子司马师沉不住气了,他对司马懿说:“现在蜀军屯田,作持久战的打算,如何是好?何不约诸葛亮大战一场,一决雌雄!”司马懿虽说奉旨坚守,不可轻动,心里其实非常着急。
诸葛亮的另一个措施就是自绘图样,命令工匠造木牛流马,长途运粮,蜀军粮草由木牛流马源源不断从剑阁运抵祁山。司马懿闻报大惊:“吾所以坚守不出,因为他们粮草不能接济。今用此法,必久不思退。怎么办呢?”
诸葛亮料到司马懿急于破坏蜀军屯田、运粮计划,于是进一步引他上钩。他一方面在大营外造木栅,营内掘深坑,堆干柴,而在营外周围的山上虚搭窝铺草营,造成蜀军分散结营与百姓共同屯田屯粮,而大营空虚的假象,引诱魏军前来劫营;另一方面在上方谷内两边的山坡上虚置屯粮草屋,内设伏兵,同时让士兵驱动木牛流马,伪装往来谷口运粮。而他自己则离开大营,引一支军马在上方谷附近安营,以引诱司马懿亲领精兵来上方谷烧粮。
司马懿虽烧粮心切,却极为谨慎小心,深恐中调虎离山之计,也用声东击西、调虎离山之计来应战。他亲领魏军去劫蜀军祁山大营,但一反过去每战必让主攻部队走在前面的惯例,让部将冲锋在前,直扑蜀营,自己在后,引军接应。他这样做,一是担心蜀军早有准备,怕中埋伏;二是他指挥魏军劫蜀军大营本属佯攻,目的是调动蜀军各营主力,趁机自领精兵奇袭上方谷,烧掉蜀军的粮草。
然而,司马懿的这个调虎离山之计,却被诸葛亮料到。当魏军直扑蜀军大营时,诸葛亮只是安排蜀军四处奔走呐喊,虚张声势,趁司马懿离山之机,另派精兵夺取渭水南岸的魏营,而自己却在上方谷等待司马懿来烧粮,以便瓮中捉鳖。
司马懿果然中计。他见蜀军都奔大营救援,便趁机领司马师、司马昭及一支亲兵杀奔上方谷。接着被蜀将魏延依诸葛亮安排,用诈败的方法诱进谷中,被截断谷口,一时山谷两旁火箭齐发,地雷突起,草房内干柴全都着火,烈焰冲天。司马氏父子眼看就要葬身火海,幸亏突来一场倾盆大雨,才救了司马氏父子三人以及少数亲兵的性命,只得大败而归。