蜀汉建兴六年(228),蜀相诸葛亮兴兵北伐,试图统一全国。蜀军兵强将勇,号令明肃,所到之处势如破竹,关中为之大震。魏明帝亲自坐镇长安,派大将曹真、张郃率军抵御蜀兵。诸葛亮以马谡为前锋,率二万五千精兵守街亭(今甘肃庄浪东南),并再三叮咛,守住街亭,即为攻取长安第一功,务必在冲要之地安营,使敌军不能偷过。马谡“违亮节度,举动失宜”,不在当道设寨,却在山上安营。副将王平苦谏:这里远离水源,若魏兵骤至,四面围定,将何策保之?马谡不听,认为“依阻南山,不据下城”是兵法所示,敌军若来,正好凭高视下,杀他个片甲难回。王平无奈,要求分兵五千,在山下设一小寨。不久,张郃率军至,围山断水,又沿山放火。蜀军大乱,马谡禁止不住,弃营逃奔。王平力穷势孤,难以救援,街亭失守。魏军趁势长驱直人,大败蜀军。街亭之败,使诸葛亮失去进取中原的据点和有利形势,遂引兵退回关中。第一次出兵祁山,就这样失败了。事后,诸葛亮自贬三等,又下令处死马谡。《三国志·马谡传》裴注引《襄阳记》记载说,当时蒋碗劝阻日:“天下未定而戮智计之士,岂不惜乎!”诸葛亮流着眼泪回答:“孙武所以能制胜于天下者,用法明也。……(今)四海分裂,兵交方始,若复废法,何用讨贼邪!”坚持以军法从事。这便是家喻户晓的“失街亭”、“挥泪斩马谡”的故事。
近年来,不断有人提出:失街亭的责任究竟该由谁负?是马谡的过失导致北伐关键战役的失败吗?由此争论遂起。
有的学者指出,马谡在当时是一个不可多得的将才,他自幼喜欢学习兵法,谈起军事理论头头是道。虽然他没有统兵独当一面的经验,但遇到强敌,采用
居高临下的军事布局,从街亭的地形与兵法原则两方面看,都是正确的。街亭失守有多方面原因,不能简单归结为马谡的指挥失误。再说,马谡兵败后并没有畏罪投敌,还上书诸葛亮日:“明公视谡犹子,谡视明公犹父,愿深惟殛鲧兴禹之意(意为善待其子),使平生之交不亏于此,谡虽死无恨于黄壤也。”他甘愿领罪的诚意,使“十万之众为之垂泣”,对于一个经验不足、犯了错误又承认错误的人,诸葛亮没有给他改过机会,便“戮谡以谢众”,实在没有必要。
更多的学者坚持传统的说法,认为马谡死罪难逃。马谡自以为熟读兵书,高人一筹,临阵独断独行,既不遵循诸葛亮的正确部署,又不采纳王平的苦苦劝谏,弃城不守,舍水上山,自以为是实践“置之死地而后生”的兵法。他的行为证明,他是一个“成事不足,败事有余”的赵括式人物,他的轻敌自大导致丧师误国,罪应伏诛。据说马谡领命为前锋时,立过军令状,表示若有失误便“乞斩全家”。军中无戏言,诸葛亮以军法从事,名正言顺。还有人指出,马谡罪在必诛,但不是因为一战之败,而在于他在战争关键时刻违抗上级的正确指挥,又在危急时弃阵逃跑,按当时的军令,违抗节度与临阵退却都是死罪。马谡被斩,实为罪有应得。
也有人认为,在这一历史事件中,诸葛亮本人难辞其咎。首先,刘备早已看出马谡志大才疏,临终前告诫诸葛亮曰:“马谡言过其实,不可大用,君其察之!”但诸葛亮没有在意,仍付以前锋重任,致使街亭大败。晋史家习凿齿评说:“先主诫谡之不可大用,……亮受诫而不获奉承。……为天下宰匠,欲大收物之力,而不量才节任,随器付业。知之大过,则违明主之诫,裁之失中,即杀有益之人,难乎其可与言智者也。”诸葛亮自己也在《街亭自贬疏》中自责:“不能训章明法,临事而惧,至有街亭违命之阙,箕谷不戒之失,咎皆在臣授任无方。”他虽然也指责马谡“违命”,但他作为主帅,选将不当,授任无方,应负更大的责任。其次,马谡抢占制高点,在兵法并无错失。他同意王平分兵扎寨,形成犄角之势,也不失为应变之计。如果当时诸葛亮派后续部队及时参战,形成一种山上弩机齐发,箭下如雨,王平在强弩掩护下反击,后续部队对张郃实施反包围的局面,那么街亭之战会是另一种后果。诸葛亮让马谡成为远悬于外的孤军,自己屯兵祁山,滞留不前,加速了马谡的覆败。因此《三国志》的作者陈寿说诸葛亮“可谓识治之良材,管、萧之亚匹”,但又指出:“应变将略,非其所长欤!”显然对诸葛亮的军事指挥才能持否定态度。即便如一些人所说陈寿对诸葛亮有成见,这一评价恐怕也不是毫无根据的妄谈。