众将听说孔明不追魏兵,都进帐来报告说:“魏兵受雨水之苦,不能驻扎,因此才回去,正好乘势追击。丞相为什么不追?”孔明说:“司马懿善于用兵,现在军队撤退必有埋伏。我们如果追击,正中他们的计策。不如放他们远去,我们却分兵直接出斜谷而夺取祁山,使魏兵不提防。”众将说:“取长安之地,还有别的路,丞相只取祁山为什么呢?”孔明说:“祁山是长安的首要之地。陇西各郡的兵马来,都必经此地,更何况它前临渭滨,后靠斜谷,可以出可以入,十分便利,是埋伏兵力的好地方。我想先取此地,得到有利的地势。”众将都拜服。孔明命令魏延、张嶷、杜琼、陈式出箕谷,马岱、王平、张翼、马忠出斜谷,都在祁山会合。调拨已定,孔明亲自率领大军,命令关兴、廖化为先锋,随后进发。
曹真、司马懿二人在后面监督人马,命令一军进入陈仓古道探视,回报说蜀兵不来。又走了十天,后面埋伏的众将都回来了,说蜀兵全无音信。曹真说:“连绵秋雨,栈道断绝,蜀人怎么会知道我们退军呢?”司马懿说:“蜀兵随后就会出来。”曹真说:“你怎么知道?”司马懿说:“连日来天气晴明,蜀兵不追赶,料想我们有埋伏,所以放我们远去,等我们军队过尽,他们却夺祁山了。”曹真不信。司马懿说:“子丹如何不信?我料孔明一定从两谷而来。我和子丹各守一谷口,十日为期。如果没有蜀兵来,我面涂红粉,身穿女衣,来营中认罪。”曹真说:“如果有蜀兵来,我愿将天子所赐的玉带一条、御马一匹送给你。”于是分兵两路:曹真引兵在祁山之西、斜谷口驻扎;司马懿引军在祁山之东、箕谷口驻扎。各自扎下营寨后,司马懿先引一军埋伏在山谷中,其余的军马,在各要路安营。司马懿更换衣装,杂在众军之内,到处观察各营。他忽然到一营,有一偏将仰天而抱怨说:“大雨淋了许多时候,不肯回去,现在又在这里停住,硬要赌赛,却苦了官军!”司马懿听到这话,回到营中升帐,聚众将都到帐下,把那将找出来。司马懿斥责他说:“朝廷养军千日,用在一时。你怎么敢出怨言,以动摇军心!”那人不招。司马懿叫出他的同伴来对证,那将不能抵赖。司马懿说:“我并非赌赛,想胜蜀兵,让你们各人有功回朝。你却妄出怨言,自取罪责!”喝令武士推出斩首。不一会儿,献上首级到帐下。众将都感到悚然。司马懿说:“你们众将都要尽心防守蜀兵。听我中军炮响,四面都进兵。”众将接受命令而退下。
魏延、张嶷、陈式、杜琼四将,带领二万兵,从箕谷进军。正行之间,忽然报告参谋邓芝到来。四将问他原因,邓芝说:“丞相有令:如果出箕谷,要提防魏兵埋伏,不可轻进。”陈式说:“丞相用兵为什么这么多疑呢?我料想魏兵连遭大雨,衣甲都毁了,必然会急忙回去,怎么又有埋伏呢?现在我们加倍速度进军,可获得大胜,为什么又叫休进?”邓芝说:“丞相计策没有不中的,谋划没有不成的,你怎么敢违抗命令?”陈式笑着说:“丞相如果果然多谋,就不会有失街亭的事了!”魏延想起孔明以前不听他的计策,也笑着说:“丞相如果听我的话,直接出子午谷,这时不要说长安,连洛阳都得到了!现在他执意要出祁山,有什么好处呢?既然叫我们进兵,现在又叫休进,为什么号令这样不明呢?”陈式说:“我自有五千兵,直接出箕谷,先到祁山下寨,看丞相羞也不羞!”邓芝再三劝阻,陈式就是不听,直接带领五千兵出箕谷去了。邓芝只得飞马报告孔明。
陈式带着军队走了不到数里路,突然听到一声炮响,四面八方的伏兵都冲了出来。陈式急忙想撤退,但魏兵已经堵满了谷口,围得像铁桶一样。陈式左冲右突,无法逃脱。忽然听到喊声大震,一彪军杀了进来,原来是魏延,他救了陈式,回到谷中。原本五千的兵力,现在只剩下四五百人,还都带着伤。背后的魏兵还在追赶,幸好杜琼、张嶷带兵接应,魏兵才退去。陈式和魏延这才相信孔明的预见如神,懊悔不已。
邓芝回去见孔明,报告了魏延和陈式的无礼行为。孔明笑着说:“魏延一向有反叛的相貌,我知道他常有不平之意,但因为怜惜他的勇猛而任用他。久后必生患害。”正说着,忽然有流星马报到,说陈式折了四千多人,只剩下四五百带伤的人马,屯在谷中。孔明命令邓芝再去箕谷抚慰陈式,防止他生变。同时又派马岱、王平吩咐说:“如果斜谷有魏兵守把,你们两人就引本部军越山岭,夜行昼伏,快速出祁山之左,举火为号。”又叫来马忠、张翼吩咐说:“你们也从山僻小路,昼伏夜行,直接出祁山之右,举火为号,和马岱、王平会合,共劫曹真营寨。我自会从谷中三面攻打,魏兵可破。”四人领命分头引兵去了。孔明又叫来关兴、廖化吩咐了一番,二人受了密计,引兵而去。孔明自己则带领精兵加速前进。正行间,又叫来吴班、吴懿授予密计,也带兵先行。
曹真心中不信蜀兵会来,因此有些怠慢,让军士歇息,只等十日无事,便可羞辱司马懿。不觉守了七日,忽然有人报告说谷中有些小蜀兵出来。曹真命令副将秦良带五千兵去哨探,并严令不许蜀兵近界。秦良领命,带兵刚到谷口,就看见蜀兵