到达街亭后,马谡看了看地形,然后对王平说:“这一带地形险要,街亭旁边有座山,正好在山上扎营,布置埋伏。”王平提醒他说:“丞相临走的时候嘱咐过,要坚守城池,稳扎营垒。要知道,在山上扎营太冒险了。”但是,马谡根本不把王平的劝告放在心上,就这样大军在山上扎营。王平为了防备万一,让马谡拨给他一千人马在山下临近的地方驻扎。
不久,魏军在张郃的率领下赶到街亭。张郃看到马谡放弃城池不守,却把人马驻扎在山上,就命令士兵在山下筑好营垒,把马谡扎营的山围困起来。马谡带领士兵往山下冲,但是都没有打破张郃固守的营垒。后来,魏军切断了山上的水源,蜀军很快饮食成了问题,陷入了大乱。张郃抓住有利时机发起总攻,取得了决定性的胜利。
街亭失守后,蜀军失去了重要的战略据点,在作战中损失了许多人马。为了避免遭受更大损失,诸葛亮把人马全部撤退到汉中。总结失败的教训时,诸葛亮意识到是马谡违反了他的作战部署。到这时候,诸葛亮才后悔没有听刘备生前的叮嘱:“马谡这个人言过其实,不能派他干大事,还得好好考察一下。”这显然是自己独断专行,没有倾听他人意见的结果。而从马谡这一方来看,他没有听王平的规劝,也是导致失败的重要原因。