王平还想进谏,马谡不悦地说:“马谡通晓兵法,世人皆知,连丞相有时都请教于我,你为什么要阻拦我呢?”王平见马谡心意已决,只得率领五千部队在旁处扎营。而马谡则将自己所率大军部署在山上。
不久,魏将张郃进军街亭,侦察到马谡舍水上山,心中大喜,立即挥兵切断水源,截断蜀军粮道,将马谡所部围困于山上,然后又纵火烧山。蜀军饥渴难忍,军心涣散,不战自乱。张郃命令乘势进攻,蜀军大败。马谡带领将士拼死力战,这才杀出重围;败退途中,幸好得到了王平的接应,这才逃回蜀营。
街亭失守,战局骤变。魏军长驱直入,蜀军兵微将寡,已经没有办法能够阻挡魏军了。诸葛亮只得退回汉中,不久,天水、南安、安定三个郡也被魏军重新夺回去了。诸葛亮这一次北伐除了收服名将姜维外,损兵折将,且寸土未得,可以说是劳而无功,惨败而回。
事后,诸葛亮总结此战失利的教训,痛心地说:“用错了马谡,这是我的过错。”为了严肃军纪,诸葛亮下令将马谡革职入狱,斩首示众。临刑前,马谡上书诸葛亮:“丞相平时待我像待亲生儿子一样,我也把您当成父亲。这次我犯了死罪,只求您能想着杀鲧用禹的故事(相传鲧治水失败,舜帝杀了他,又用他的儿子禹治水),我死了也放心了。”诸葛亮看罢,百感交集,忍不住老泪纵横,要斩掉自己的爱将,真可说有切肤之痛。然而,为了严肃军纪,诸葛亮强忍悲痛,让马谡放心去。随后将马谡明正典刑,同时收他的儿子为义子。