魏主曹睿命令张合作为先锋,与司马懿一同出征,同时又命令辛毗、孙礼二人带领五万大军去协助曹真。两人接受诏令后便出发了。司马懿则率领二十万大军出关下寨,请先锋张合到帐中说:“诸葛亮平生谨慎,从不敢冒险行事。如果是我用兵,直接从子午谷取道长安,早就到了。他不是没有谋略,只是怕有失误,所以不敢冒险。现在他必定会出兵斜谷,来取郿城。如果取郿城,他必定会分兵两路,一路取箕谷。我已经发檄文命令曹真在郿城防守,如果蜀兵来攻,不可出战;又命令孙礼、辛毗在箕谷道口设伏,如果蜀兵来,就出奇兵攻击。”张合问:“那将军您准备在哪里进兵呢?”司马懿说:“我向来知道秦岭的西边有一条路,地名叫做街亭,旁边还有一座城,叫做列柳城,这两个地方都是汉中的咽喉要道。诸葛亮肯定会欺负曹真无备,从这里进攻。我和你直接取道街亭,离阳平关就不远了。如果诸葛亮知道我们断了他的街亭要路,绝了他的粮道,那么陇西一带的蜀兵就不能安守,必然会连夜逃回汉中去。他如果撤退,我们就在小路上伏击他,可以大获全胜;如果他不撤退,我们就把各处小路都堵死,派兵把守。这样一来,蜀兵无粮可吃,一个月内必定饿死,诸葛亮也必定会被我们擒获。”张合听后大悟,跪拜说:“都督真是神算啊!”司马懿又说:“虽然如此,但诸葛亮不同于孟达。你作为先锋,不可轻敌冒进。要传令给各位将领,沿着山的西边,远远地探听虚实。如果没有伏兵,才可以前进。如果疏忽大意,必定会中诸葛亮的计策。”张合接受命令,引兵出发。
在祁山的军营中,孔明突然接到从新城派来的探子的报告。孔明急忙召他进来询问情况,探子报告说:“司马懿带着大军倍道而行,只用了八天时间就到达了新城。孟达措手不及,加上申耽、申仪、李辅、邓贤等人作为内应,孟达被乱军所杀。现在司马懿已经撤兵回到长安,见了魏主后,会同张合引兵出关,来抵抗我们的jūn_duì 。”孔明听后大惊说:“孟达做事不机密,死了也是活该。现在司马懿出关,必定会夺取街亭,断了我们的咽喉要道。”于是他问:“谁敢带兵去守街亭?”话还没说完,参军马谡就说:“我愿意去。”孔明说:“街亭虽小,但关系重大。如果街亭失守,我们的大军就危险了。你虽然深通谋略,但这里既无城郭可守,又无险阻可凭,守起来非常困难。”马谡说:“我从小熟读兵书,颇知兵法。难道连一个小小的街亭都守不住吗?”孔明说:“司马懿不是等闲之辈,他还有先锋张合这位魏国的名将助阵,恐怕你敌不过他们。”马谡说:“别说是司马懿、张合了,就算是曹睿亲来,我也不怕!如果有什么差池,我愿意接受军法处置,全家被杀也在所不惜。”孔明说:“军中无戏言。”马谡说:“我愿意立下军令状。”于是他就写了军令状呈给孔明。孔明说:“我给你二万五千精兵,再派一员上将协助你去守街亭。”说完就叫来王平吩咐道:“我平时知道你做事谨慎小心,所以特地把这个重任托付给你。你要小心防守这个地方,下寨时必须选择在要道之处,让敌人不能轻易偷袭通过。安营扎寨之后要画出四周八方的地理形状图送来给我看。凡事都要商议妥当后再行动不可轻率从事。如果你能守住街亭无虞那么就是夺取长安的第一功臣了!一定要小心谨慎啊!”两人拜别之后引兵而去。
孔明又考虑到可能两人会有闪失于是又叫来高翔说:“在街亭东北方向上有一座城叫做柳城那里有一条偏僻的山路可以作为屯兵扎寨的地方。我给你一万兵马去那里驻扎防守。如果街亭有危险你可以带兵去救援。”高翔领命带兵而去。然而孔明又考虑到高翔可能不是张合的对手必须再派一员大将去街亭的右翼屯兵防守才能确保万无一失。于是他又叫来魏延命令他带领本部兵马去街亭之后的地方驻扎防守。魏延却说:“我是前部先锋理应率先破敌为何让我留在安逸之地呢?”
孔明对魏延说:“前锋破敌只是偏将的任务,现在让你接应街亭,扼守阳平关这一冲要道路,总领汉中的咽喉地带,这才是大任,怎么能说是安闲呢?你不要轻视这个任务,如果失败了会影响我的大事。你应该小心在意!”魏延听后大喜,引兵而去。孔明这时才心安下来,又叫来赵云和邓芝,吩咐说:“现在司马懿出兵,和以往不同。你们两人各带一军出箕谷,作为疑兵。如果遇到魏兵,可以战斗也可以不战斗,目的是要让他们心神不宁。我自己会统领大军从斜谷直接攻取郿城,如果能得到郿城,长安就可以攻破了。”两人接受命令后离去。孔明又命令姜维作为先锋,出兵斜谷。
马谡和王平两人带兵到达街亭后,观察了地势。马谡笑着说:“丞相为什么这么多心呢?这个地方偏僻,魏兵怎么敢来呢!”王平说:“虽然魏兵不敢来,但我们可以在这里五路总口下寨,命令士兵砍伐树木作为栅栏,为长期驻守做准备。”马谡却说:“在道路上怎么能下寨呢?这里侧边有一座山,四面都不相连,而且树木茂密,这是天赐的险地,我们可以在山上屯军。”王平说:“参军你错了。如果在道路上驻军,筑起城墙,即使有十万敌军也不能偷偷通过。现在如果放弃这个要道,在山上屯兵,如果魏兵突然到来,四面围攻,我们怎么保全自己呢?”马谡大笑说:“你真是女人的见识!兵法上说:‘凭高视下,势如劈竹。’如果魏兵到来,我会让他们片甲不留!”王平说:“我多次跟随丞相征战,每到一处,丞相都尽心指导。现在看这座山,是绝地啊。如果魏兵切断我们的水源,军士们不战自乱。”马谡说:“你不要乱说!孙子说:‘置之死地而后生。’如果魏兵切断我们的水源,蜀兵难道不会死战吗?一人可以当百人使用。我平时饱读兵书,丞相很多事情还要问我,你为什么要阻拦我呢!”王平说:“如果参军想在山上驻军,可以分一部分兵力给我,我在山西边下一个小寨,形成掎角之势。如果魏兵到来,可以互相支援。”但马谡没有听从。
突然,山中的居民成群结队地飞奔而来,报告说魏兵已经到了。王平想撤离,但马谡说:“你既然不听我的命令,我给你五千兵力你自己去下寨。等我打败了魏兵,到丞相面前你可别分我的功劳!”王平于是带兵离山十里下寨,并画成图本连夜派人去禀报孔明详细说明了马谡在山上驻军的情况。
司马懿在城中命令次子司马昭去探察前路:如果街亭有兵力防守就暂时按兵不动。司马昭奉命探察了一遍后回来报告说:“街亭有兵力防守。”司马懿叹息道:“诸葛亮真是神人啊我不如他!”但司马昭笑着说:“父亲为什么要自己贬低自己呢?我认为街亭很容易攻取。”司马懿问:“你怎么敢出此大话?”司马昭回答说:“我亲自侦察发现道路上并没有设置寨栅而蜀军都驻扎在山上所以我知道可以攻破。”司马懿听后大喜说:“如果蜀兵真的在山上驻军那就是天助我成功了!”于是他更换衣服带领百余名骑兵亲自去察看。那天天气晴朗月光明亮司马懿一直到山下周围巡察了一遍才回去。马谡在山上看到后大笑说:“他们如果有胆量就不敢来围攻我们!”他传令给各位将领:“如果魏兵来攻只看我山顶上红旗挥动就四面出击。”
司马懿回到营寨后派人打听是谁带兵防守街亭。回报说是马良的弟弟马谡。司马懿笑着说:“他徒有虚名只是个平庸之才!孔明用这样的人怎么会不误事呢!”他又问:“街亭左右有没有别的jūn_duì ?”探马报告说:“离山十里有王平在那里安营扎寨。”于是司马懿命令张合带领一支jūn_duì 挡住王平的来路又命令申耽、申仪带领两路兵力围攻蜀军并首先切断他们的水源等待蜀兵自乱然后再乘势攻击。当夜调度已定。
第二天天一亮张合就带领jūn_duì 前往街亭背后去了。司马懿则率领大军一拥而进把山四面都围了起来。马谡在山上看到魏兵漫山遍野旌旗招展队伍严整感到非常惊恐。蜀兵看到这种情况也都丧失了勇气不敢下山。马谡挥动红旗命令出击但蜀军将士互相推诿没有一个人敢动。马谡大怒之下杀了两个将领以儆效尤但蜀军仍然惊恐不安只得努力冲下山去攻击魏兵然而魏兵却岿然不动蜀兵又退回到山上去了。马谡看到情况不妙只好命令jūn_duì 紧守寨门等待外援的到来。
王平见到魏兵到来,引军迎战,正好遇到张合。两人交战数十回合后,王平因力量悬殊和孤立无援,只得撤退。魏兵从辰时一直围困到戌时,由于山上无水,蜀军无法进食,营寨中陷入混乱。到了半夜,山南的蜀兵打开寨门投降魏军,马谡无法制止。司马懿又命人沿山放火,山上的蜀兵更加混乱。马谡知道守不住了,只得带领残兵从山西方向逃奔。司马懿故意放开大路让马谡通过,然后派张合引兵追击。
张合追了三十多里,突然前方鼓角齐鸣,一彪军杀出。这彪军放过马谡,却拦住了张合的去路。张合一看,原来是魏延。魏延挥刀纵马直取张合,张合回军便走。魏延驱兵赶来,想要夺回街亭。但是追到五十多里的时候,突然一声呐喊,两边伏兵齐出。左边是司马懿,右边是司马昭,他们抄在魏延的背后,把魏延困在垓心。张合也回军再来合围,三路兵合在一处。魏延左冲右突无法脱身,折损了大半的兵马。正在危急关头,忽然一彪军杀入重围,原来是王平。魏延大喜过望说:“我得救了!”于是两人合兵一处大杀一阵才逼退魏兵。
然而当他们慌忙奔回营寨时却发现营中都是魏兵的旌旗原来申耽、申仪已经从营中杀出。王平和魏延只得直奔列柳城去投靠高翔。此时高翔已经得知街亭失守的消息尽起列柳城的兵力前来救援。正好遇到王平和魏延两人诉说前事。高翔建议说:“我们不如晚上去劫魏寨再夺回街亭。”于是三人在山坡下商议已定。
待到天色将晚时分他们兵分三路进行行动。魏延引兵先进直到街亭但却不见一人心中大疑未敢轻进于是在路口埋伏等候。不久高翔的兵也到了两人都说不知道魏兵在哪里。正在此时忽然一声炮响火光冲天鼓声震地魏兵从四面八方涌出把魏延和高翔围在垓心。两人奋力冲突但无法脱身。
忽然听得山坡后喊声若雷一彪军杀入重围原来是王平引兵来救。他救了魏延和高翔两人之后直奔列柳城而来。然而当他们奔到城下时却发现城边已经有一军杀到旗上大写“魏都督郭淮”字样。原来郭淮与曹真商议后担心司马懿独得全功于是分兵让郭淮来取街亭。郭淮得知司马懿和张合已经成功于是引兵直袭列柳城。正好遇到王平、魏延和高翔三人于是大杀一阵蜀兵伤亡惨重。
魏延担心阳平关有失于是慌忙与王平和高翔一起撤向阳平关。郭淮收了军马后对左右说:“我虽然没能得到街亭但却取了列柳城也算是大功一件。”于是他引兵到城下叫门。只见城上一声炮响旗帜皆竖当头一面大旗上写着“平西都督司马懿”。司马懿撑起悬空板倚定护心木栏干大笑说:“郭伯济你来得怎么这么迟啊?”郭淮大惊说:“仲达你真是神机妙算我不如你啊!”于是入城与司马懿相见。
见面之后司马懿说:“现在街亭已经失守诸葛亮必定会逃走。你可以赶快和曹真一起星夜追击他。”郭淮听从了他的建议出城而去。司马懿又唤来张合说:“子丹和伯济担心我独得大功所以来取这座城池。我其实并不是只想成功而是侥幸得胜而已。我料想魏延、王平、马谡、高翔等人必定会先去占据阳平关。如果我们去取阳平关诸葛亮必定会趁机从后面掩杀过来那样我们就中了他的计策了。《兵法》上说:‘归师勿掩穷寇莫追。’你可以从小路抄到箕谷退兵我在斜谷这里挡住蜀兵。如果他们败逃了你不要追击只要在中途截住他们就可以了。这样蜀兵的辎重物资我们就可以全部得到了。”张合接受了司马懿的计策带着一半的兵力离开了。