建兴六年,诸葛亮率10万大军,挟七擒孟获的威势,采用声东击西的策略,从汉中出发,一举突破魏军防线,越过祁山,直指当时曹魏所具有的天水、南安、安定三郡,蜀军势大,天水、南安、安定三地叛魏应亮,整个关中震动。魏明帝亲至长安坐镇,分派张、曹真二人反击蜀军。
获悉魏军进攻,当时诸葛亮坐镇西县,精心组织了街亭阻击战,派马谡担任先锋,同时指派王平、高详、黄袭、张休、李盛五人率精兵1万协助马谡防守街亭,其主要目的是保障进入关中的通道———陇山道西口的畅通。而曹魏派出的张则率领5万大军直驱街亭。
陇山道是甘肃秦安至陕西陇县间的要道,也是翻越陇山的必经之路,全长达 150多公里。当时,魏将张率步骑5万,从陇县出发,沿陇山道西进。蜀军只有1万人,严密防守街亭四周的战略要地。整个战场形势魏强蜀弱。尽管当时诸葛亮率10万大军北上伐魏,但是兵力被分散到了武都、祁山、西县、天水、南安5个据点,同时要攻打陇西、上,没有像初期一样形成有利的拳头,局部上已经没有集中优势兵力的作用了。因而面对5万曹魏大军,诸葛亮只能派出1万精兵迎战张。
马谡是很多人都比较熟悉的,曾经给诸葛亮献策平定南蛮,故而诸葛亮一直看重他是一个谋士型的人物,他可以提出大的方针和建议,却不适合领兵打仗。临出阵之前,诸葛亮叮嘱马谡要当道下寨,而在实战指挥中马谡却自作聪明违背诸葛亮嘱咐,要背水一战,结果被魏军截断水道,致使士兵不战自乱。若不是副将王平擂鼓援救,可能这1万精兵就会全军覆没。
追究起来,街亭之战失败的主要原因是曹兵势大,蜀兵弱小,且又处处被牵制,致使优势丧尽。专家考证,就连当时的诸葛亮都被魏军牵制在上合合合圭合圭,而无法分兵救援马谡。尽管其中有马谡指挥失误的地方,但蜀军整体实力远远不如魏军,且没有形成局部集中兵力的态势,其结果也只能是失败,即使诸葛亮亲自去街亭指挥,结果也是一样。