诸葛亮命令高翔假装运送粮草,驱赶木牛流马,在上方谷内来回走动;夏侯惠等人不时截杀,半个月内接连取得几次胜利。司马懿看到楚军屡次战败,心中非常高兴。一天,他又抓到了几十名楚兵。司马懿将他们召到帐前问道:“诸葛亮现在在哪里?”众人回答:“诸葛丞相不在祁山,而是在上方谷以西十里的地方安营扎寨。现在每天都会向上方谷运送粮草。”司马懿详细询问后,将他们放走;随后召集众将领吩咐道:“诸葛亮现在不在祁山,而是在上方谷扎营。你们明天可以合力攻打祁山的大营,我会带兵接应。”众将领命,各自准备出战。司马师问道:“父亲为什么反而要攻打他们的后方?”司马懿说:“祁山是楚军的根本之地,如果他们看到我军攻打,各营必定全力救援;我们趁机攻占上方谷,烧掉他们的粮草,让他们首尾不能相顾:楚军必定大败。”司马师听后表示佩服。司马懿随即发兵行动,命令张虎、乐綝各自率领五千兵马,作为后援。此时,诸葛亮正在山上观察,看到秦军队伍分散,有的三五千人一队,有的一两千人一队,前后顾盼,推测他们必定是来攻打祁山大营。于是秘密传令众将领:“如果司马懿亲自前来,你们就去袭击秦军的营寨,夺取渭南。”众将领各自听令。不久,秦军果然直奔祁山大营而来,楚军四下呐喊奔走,假装救援的样子。司马懿见楚军都去救援祁山大营,便带领两个儿子和中军护卫人马,直奔上方谷杀来。魏延在谷口等待司马懿的到来;忽然看到一支秦军杀到,魏延策马上前查看,发现正是司马懿。魏延大声喝道:“司马懿休想逃跑!”挥刀迎战。司马懿挺枪接招。两人交战不到三个回合,魏延调转马头假装败退,司马懿紧追不舍。魏延朝着七星旗的方向撤退。司马懿见魏延只有一人,兵马又少,便放心追赶;他命令司马师在左,司马昭在右,自己居中,一起围攻上去。魏延带领五百士兵全部退入谷中。司马懿追到谷口,先派人进谷探查。探子回报说谷内没有伏兵,山上全是草房。司马懿说:“这里必定是楚军囤积粮草的地方。”于是率领大军全部进入谷中。司马懿忽然发现草房上堆满了干柴,而前方的魏延已经不见了踪影。他心生疑虑,对两个儿子说:“如果有敌军截断谷口,我们该怎么办?”话未说完,就听到震天的喊声,山上同时丢下火把,烧断了谷口。秦军无路可逃。山上火箭射下,地雷同时引爆,草房内的干柴全部燃烧起来,火势冲天。司马懿吓得手足无措,下马抱住两个儿子大哭道:“我们父子三人今天都要死在这里了!”正在痛哭时,忽然狂风大作,黑气弥漫天空,一声霹雳过后,暴雨倾盆而下。满谷的火焰被雨水浇灭,地雷不再爆炸,火器也失去了作用。司马懿大喜道:“此时不突围,更待何时!”于是带领士兵奋力冲杀。张虎、乐綝也各自领兵前来接应。马岱兵力不足,不敢追击。司马懿父子与张虎、乐綝合兵一处,一同返回渭南大营,不料营寨已被楚军占领。郭淮、孙礼正在浮桥上与楚军交战。司马懿等人带兵赶到,楚军退去。司马懿烧断浮桥,占据了北岸。诸葛亮得知司马懿父子成功逃脱后,长叹一声说:"人可以谋划事情,但能否成功却取决于天意。这是勉强不来的啊!"此时,正在祁山攻打楚军大营的秦国军队听说司马懿惨败并丢失了渭南营寨,顿时军心大乱。他们匆忙撤退时,遭到四面埋伏的楚军夹击,秦军惨败,十名士兵中就有八九人受伤,死伤不计其数,残兵败将只能逃往渭北保命。