228年(蜀汉后主建兴六年)诸葛亮为实现统一大业,发动了一场北伐曹魏的战争。他令赵云、邓芝为疑军,占据箕谷(今陕西汉中市北),亲自率10万大军,突袭魏军据守的祁山(今甘肃),任命参军马谡为前锋,镇守战略要地街亭(甘肃秦安县东北)临行前,诸葛亮再三嘱咐马谡:街亭虽小,关系重大。它是通往汉中的咽喉。如果街亭失守,我军必败。并具体指示让他靠山近水安营扎寨,谨慎小心,不得有误。
马谡到达街亭后,骄傲轻敌,自作主张地想将大军部署在远离水源的街亭山上。当时,副将王平提出:街亭一无水源,二无粮道,若魏军围困街亭,切断水源,断绝粮道,蜀军则不战自溃。请主将遵令履法,依山傍水,巧布精兵。马谡不但不听劝阻,反而自傲地说:马谡通晓兵法,世人皆知,连丞相有时得请教于我,而你王平生长戎旅,手不能书,知何兵法?接着又洋洋自得地说:居高临下,势如破竹,置死地而后生,这是兵家常识,我将大军布于山上,使之绝无反顾,这正是致胜之秘诀。王平再次谏阻:这样布兵很危险啊。马谡见王平不服,便火冒三丈说:丞相委任我为主将,部队指挥我负全责。如果兵败,我甘愿革职斩首,绝不怨怒于你。王平再次义正辞严:我对主将负责,对丞相负责,对后主负责,对蜀国百姓负责。最后恳请你遵循丞相指令,依山傍水布兵。马谡仍是固执己见,将大军安扎于山上。
魏明帝曹睿得知了蜀将马谡占领街亭,立即派骁勇善战,曾多次与蜀军交锋蜀大军张郃领兵抗击,张郃进军街亭,侦察到马谡舍水上山,心中大喜,立即挥兵切断水源,掐断粮道,将马谡部队围困于山上,然后纵火烧山。蜀军饥渴难忍,军心涣散,不战自乱。结果,张命令乘势进攻,蜀军大败。马谡失守街亭,战局骤变,迫使诸葛亮退回汉中。
诸葛亮总结此战失利的教训,痛心地说:用马谡错矣。为了严肃军纪,诸葛亮下令将马谡革职入狱,斩首示众。临刑前,马谡上书诸葛亮:丞相待我亲如子,我待丞相敬如父。这次我违背节度,招致兵败,军令难容,丞相将我斩首,以诫后人,我罪有应得,死而无怨,只是恳望丞相以后能照顾好我一家妻儿老小。这样我死后也就放心了。诸葛亮看罢,百感交集,老泪纵横,要斩掉曾为自己十分器重赏识的将领,心若刀绞;但若违背军法,免他一死,又将失去众人之心,无法实现统一天下的宏愿。于是,他强忍悲痛,让马谡放心去,自己将收其儿为义子。而后,全军将士无不为之震惊。