众将听说孔明不追魏兵,都进帐来报告说:“魏兵受雨水之苦,不能驻扎,因此才回去,正好乘势追击。丞相为什么不追?”孔明说:“司马懿善于用兵,现在军队撤退必有埋伏。我们如果追击,正中他们的计策。不如放他们远去,我们却分兵直接出斜谷而夺取祁山,使魏兵不提防。”众将说:“取长安之地,还有别的路,丞相只取祁山为什么呢?”孔明说:“祁山是长安的首要之地。陇西各郡的兵马来,都必经此地,更何况它前临渭滨,后靠斜谷,可以出可以入,十分便利,是埋伏兵力的好地方。我想先取此地,得到有利的地势。”众将都拜服。孔明命令魏延、张嶷、杜琼、陈式出箕谷,马岱、王平、张翼、马忠出斜谷,都在祁山会合。调拨已定,孔明亲自率领大军,命令关兴、廖化为先锋,随后进发。
曹真、司马懿二人在后面监督人马,命令一军进入陈仓古道探视,回报说蜀兵不来。又走了十天,后面埋伏的众将都回来了,说蜀兵全无音信。曹真说:“连绵秋雨,栈道断绝,蜀人怎么会知道我们退军呢?”司马懿说:“蜀兵随后就会出来。”曹真说:“你怎么知道?”司马懿说:“连日来天气晴明,蜀兵不追赶,料想我们有埋伏,所以放我们远去,等我们军队过尽,他们却夺祁山了。”曹真不信。司马懿说:“子丹如何不信?我料孔明一定从两谷而来。我和子丹各守一谷口,十日为期。如果没有蜀兵来,我面涂红粉,身穿女衣,来营中认罪。”曹真说:“如果有蜀兵来,我愿将天子所赐的玉带一条、御马一匹送给你。”于是分兵两路:曹真引兵在祁山之西、斜谷口驻扎;司马懿引军在祁山之东、箕谷口驻扎。各自扎下营寨后,司马懿先引一军埋伏在山谷中,其余的军马,在各要路安营。司马懿更换衣装,杂在众军之内,到处观察各营。他忽然到一营,有一偏将仰天而抱怨说:“大雨淋了许多时候,不肯回去,现在又在这里停住,硬要赌赛,却苦了官军!”司马懿听到这话,回到营中升帐,聚众将都到帐下,把那将找出来。司马懿斥责他说:“朝廷养军千日,用在一时。你怎么敢出怨言,以动摇军心!”那人不招。司马懿叫出他的同伴来对证,那将不能抵赖。司马懿说:“我并非赌赛,想胜蜀兵,让你们各人有功回朝。你却妄出怨言,自取罪责!”喝令武士推出斩首。不一会儿,献上首级到帐下。众将都感到悚然。司马懿说:“你们众将都要尽心防守蜀兵。听我中军炮响,四面都进兵。”众将接受命令而退下。
魏延、张嶷、陈式、杜琼四将,带领二万兵,从箕谷进军。正行之间,忽然报告参谋邓芝到来。四将问他原因,邓芝说:“丞相有令:如果出箕谷,要提防魏兵埋伏,不可轻进。”陈式说:“丞相用兵为什么这么多疑呢?我料想魏兵连遭大雨,衣甲都毁了,必然会急忙回去,怎么又有埋伏呢?现在我们加倍速度进军,可获得大胜,为什么又叫休进?”邓芝说:“丞相计策没有不中的,谋划没有不成的,你怎么敢违抗命令?”陈式笑着说:“丞相如果果然多谋,就不会有失街亭的事了!”魏延想起孔明以前不听他的计策,也笑着说:“丞相如果听我的话,直接出子午谷,这时不要说长安,连洛阳都得到了!现在他执意要出祁山,有什么好处呢?既然叫我们进兵,现在又叫休进,为什么号令这样不明呢?”陈式说:“我自有五千兵,直接出箕谷,先到祁山下寨,看丞相羞也不羞!”邓芝再三劝阻,陈式就是不听,直接带领五千兵出箕谷去了。邓芝只得飞马报告孔明。
陈式带着军队走了不到数里路,突然听到一声炮响,四面八方的伏兵都冲了出来。陈式急忙想撤退,但魏兵已经堵满了谷口,围得像铁桶一样。陈式左冲右突,无法逃脱。忽然听到喊声大震,一彪军杀了进来,原来是魏延,他救了陈式,回到谷中。原本五千的兵力,现在只剩下四五百人,还都带着伤。背后的魏兵还在追赶,幸好杜琼、张嶷带兵接应,魏兵才退去。陈式和魏延这才相信孔明的预见如神,懊悔不已。
邓芝回去见孔明,报告了魏延和陈式的无礼行为。孔明笑着说:“魏延一向有反叛的相貌,我知道他常有不平之意,但因为怜惜他的勇猛而任用他。久后必生患害。”正说着,忽然有流星马报到,说陈式折了四千多人,只剩下四五百带伤的人马,屯在谷中。孔明命令邓芝再去箕谷抚慰陈式,防止他生变。同时又派马岱、王平吩咐说:“如果斜谷有魏兵守把,你们两人就引本部军越山岭,夜行昼伏,快速出祁山之左,举火为号。”又叫来马忠、张翼吩咐说:“你们也从山僻小路,昼伏夜行,直接出祁山之右,举火为号,和马岱、王平会合,共劫曹真营寨。我自会从谷中三面攻打,魏兵可破。”四人领命分头引兵去了。孔明又叫来关兴、廖化吩咐了一番,二人受了密计,引兵而去。孔明自己则带领精兵加速前进。正行间,又叫来吴班、吴懿授予密计,也带兵先行。
曹真心中不信蜀兵会来,因此有些怠慢,让军士歇息,只等十日无事,便可羞辱司马懿。不觉守了七日,忽然有人报告说谷中有些小蜀兵出来。曹真命令副将秦良带五千兵去哨探,并严令不许蜀兵近界。秦良领命,带兵刚到谷口,就看见蜀兵退去。他急忙带兵追赶,行了五六十里,却不见蜀兵踪影,心中疑惑,便让军士下马歇息。忽然哨马报告说:“前面有蜀兵埋伏。”秦良上马查看时,只见山中尘土大起,急忙让军士提防。不一会儿,四壁厢喊声大震,前面吴班、吴懿带兵杀出,背后关兴、廖化带兵杀来。左右是山,都没有逃路。山上的蜀兵大喊:“下马投降者免死!”魏兵大半都投降了。秦良死战不降,被廖化一刀斩于马下。孔明把降兵拘禁在后军,却将魏兵的衣甲给五千蜀兵穿上,扮作魏兵,让关兴、廖化、吴班、吴懿四将引着,直奔曹真寨而来。他们先派报马入寨说:“只有些小蜀兵,已经都被赶走了。”曹真大喜。忽然又报告说司马都督差心腹人到了。曹真叫进来问情况,那人报告说:“现在都督用埋伏计杀了蜀兵四千多人。司马都督让我告诉将军您不要将赌赛放在心上,务必要用心提防。”曹真说:“我这里并没有一个蜀兵。”于是打发来人回去。忽然又报告说秦良带兵回来了曹真亲自出帐迎接他。等到回到营寨时却有人报告说前后两把火起。曹真急忙回寨后看时关兴、廖化、吴班、吴懿四将已经指挥蜀军就营前杀了进来。马岱、王平从后面杀来马忠、张翼也带兵杀到。魏军措手不及各自逃生。众将保护着曹真望东而逃背后蜀兵紧紧追赶。曹真正在狂奔忽然喊声大震一彪军又杀了过来。曹真吓得胆战心惊定睛一看原来是司马懿。司马懿大战一场蜀兵才退去。曹真得以逃脱羞愧难当。司马懿说:“诸葛亮夺了祁山地势我们不能在这里久留应该去渭滨安营再作打算。”曹真问:“仲达你怎么知道我遭此大败呢?”司马懿回答说:“我看到来人报告说你说并无一个蜀兵我就料到孔明会暗中前来劫寨因此得知所以前来接应。现在果然中了他的计策。你千万不要再提赌赛的事情了我们应该同心报国。”曹真非常惶恐气得生了病卧床不起。魏军在渭滨驻扎下来司马懿担心军心动荡不敢让曹真继续带兵。
此时,孔明再次率领大军出祁山,重整军队后,魏延、陈式、杜琼、张嶷进入帐中,跪拜请罪。孔明问:“是谁导致了军队的失败?”魏延说:“是陈式不听号令,擅自进入谷口,因此大败。”陈式反驳说:“这是魏延教我这么做的。”孔明严厉地说:“他本来是想救你,你却反咬他一口!你们已经违反了军令,无需再多狡辩!”于是命令武士将陈式推出斩首。不久,陈式的首级被悬挂在帐前,以示众将。孔明没有杀魏延,是打算留他日后有用。
处理了陈式后,孔明正商议进兵的事,忽然有细作来报,说曹真病重卧床,正在营中治疗。孔明大喜,对众将说:“如果曹真病得轻,必然会退回长安。现在魏兵不退,肯定是他病得很重,所以留在军中,以稳定军心。我写一封信,让秦良的降兵送给曹真,他看了信,必死无疑!”于是叫来降兵,对他们说:“你们都是魏军,父母妻子多在中原,不宜长久留在蜀中。我现在放你们回家,怎么样?”众军都感激得流泪拜谢。孔明说:“曹子丹和我有约定。我有一封信,你们带回去给他,他必有重赏。”魏军领了信,奔回本寨,将孔明的信呈给曹真。曹真扶病而起,拆开信看,信中写道:
“汉丞相、武乡侯诸葛亮,致书于大司马曹子丹:我认为作为将领,应该能进能退,能柔能刚,能弱能强。静止时如山岳般稳固,行动时如阴阳般难测;变化无穷如天地,充实丰富如太仓;浩渺无际如四海,炫耀灿烂如三光。要能预知天文的旱涝,先识地理的平康;察看阵势的变化,揣摩敌人的短长。可叹你这无学的后辈,上逆天意,助篡国的反贼,在洛阳称帝;在斜谷走残兵,在陈仓遭雨淋;水陆都困乏,人马都猖狂;丢弃满地的兵器,抛下遍地的刀枪;都督心崩而胆裂,将军鼠窜而狼忙!你无颜见关中的父老,有何面目进入相府的厅堂!史官会秉笔直书,百姓会众口传扬:仲达听到你的败阵会心生警惕,子丹看到你的狼狈会惶恐不安!我军兵强马壮,大将如虎奋龙骧;我们要扫平秦川,荡涤魏国,使之成为荒丘!”
曹真看完信后,气愤填胸,当晚就死于军中。司马懿用兵车装载他的遗体,派人送赴洛阳安葬。魏主听到曹真已死的消息,立刻下诏催司马懿出战。司马懿率领大军前来与孔明交锋,并提前一天下了战书。孔明对众将说:“曹真必死无疑了。”于是批准了“来日交锋”的回复,使者便离去了。孔明当晚又密授姜维计策,并吩咐关兴依计行事。
第二天,孔明率领祁山的全部军队来到渭滨。这里一边是河,一边是山,中间是平川旷野,正是一片好战场!两军对峙时,都用弓箭射住对方的阵角。三通鼓响后,魏军的中门旗开处,司马懿出马,众将紧随其后。只见孔明端坐在四轮车上,手摇羽扇。司马懿说:“我主上效法尧禅让给舜的先例,相传二帝,坐镇中原。我们容忍你们蜀、吴二国存在的原因是我主宽慈仁厚,不想伤害百姓。你不过是南阳的一个耕夫而已,却不懂得天命所归,强行要侵犯我们中原之地。按理来说你们应该被消灭掉!如果你们能够省心改过的话,就应该早点回去守住自己的疆界,这样我们才能形成鼎足之势各自安好。免得生灵涂炭、百姓遭殃!到时候你们也能得以保全性命。”孔明笑着说:“我受先帝的托孤之重托怎么敢不尽心竭力去讨伐你们这些逆贼呢?!你们曹氏家族不久就会被汉朝所灭掉!你们的祖父都曾经是汉朝的臣子世世代代享受汉朝的俸禄却不思报效国家反而助纣为虐、帮助逆贼篡夺皇位难道就不觉得羞耻吗?!”司马懿被孔明说得满面羞惭无言以对只好说:“我和你决一胜负!如果你能赢我我就发誓不再做大将!如果你输了的话就早点滚回你的老家去吧我保证不会加害于你。”