公元227年冬天,諸葛亮帶領大軍駐守漢中。希望隨時可以找機會進攻魏國。離開成都的時候,他給後主劉禪上了一道《出師表》,要後主不要滿足現狀,妄自菲薄;要親近賢臣,疏遠小人;並且表示他決心擔負起興復漢朝的責任。
到漢中後,諸葛亮採用聲東擊西的辦法,裝出要攻打郿城的樣子。魏軍得到情報,果然把主要兵力去守郿城。諸葛亮趁魏軍不防備,親自率領大軍,突然從西路撲向祁山(今甘肅禮縣東)。
自從劉備死後,蜀漢多年沒有動靜,魏國毫無防備,守在祁山的魏軍抵擋不了,紛紛敗退,祁山北面天水、南安、安定三個郡的守將都背叛魏國,派人向諸葛亮求降。
魏明帝曹叡立刻派張郃帶領五萬人馬趕到祁山去抵抗,還親自到長安去督戰。諸葛亮到了祁山,決定派馬謖、王平帶領一支人馬去佔領街亭(今甘肅莊浪東南),作為據點。
馬謖這個人確是讀了不少兵書,但是劉備在世的時候,看出馬謖不大踏實。他在生前特地叮囑諸葛亮,不能派他幹大事。但是諸葛亮沒有把這番話放在心上。
馬謖和沒有打仗的經驗,自以為熟讀兵書,他和王平帶領人馬到了銜亭,看了地形,就開始在山上紮營,佈置埋伏。
張郃率領魏軍趕到街亭,吩咐手下將士,在山下築好營壘,把馬謖紮營的那座山圍困起來。魏軍切斷了山上的水源。蜀軍在山上斷了水,連飯都做不成,時間一長,自己先亂了起來。張郃看準時機,發起總攻。蜀軍兵士紛紛逃散,馬謖要禁也禁不了,最後,只好自己殺出重圍,往西逃跑。
由於馬謖用兵不當,街亭失守,蜀軍失去了重要的據點,又喪失了不少人馬。諸葛亮為了避免遭受更大損失,只得把人馬全部撤退到漢中。