先主劉備亡故,臨終將兒子劉禪托付給孔明。孔明鞠躬盡瘁,竭力輔佐後主,多次用兵阻止魏軍的進攻,招降了蠻王孟獲,穩定南方;又實行聯吳政策,再次與東吳交好。此時,魏國曹丕亡故,其兒子曹睿繼位。孔明上書《出師表》,率領大軍攻魏,並接連取勝,使得魏國君臣聞風喪膽。魏國太傅鍾繇,保薦司馬懿領兵抵禦蜀軍。魏主曹睿又令張郃為前部先鋒,隨司馬懿一同出兵破蜀。
話說司馬懿帶著二十萬大軍,出關下寨,請先鋒張郃到帳下議事。司馬懿說:“諸葛亮平生行事謹慎。我想他這次一定會從斜穀出兵,來攻打郿城。想要攻取郿城,必得兵分兩路,一路攻打箕穀。我已經發檄文,叫子丹據守郿城,如果有蜀兵到來,不可出城迎戰。又叫孫禮、辛毗堵截箕穀道口,如果有兵攻來,就出奇兵攻打。”張郃問:“那麼將軍又從哪裏進兵呢?”司馬懿說道:“我知道秦嶺西邊有一條路,名叫街亭。旁邊有一座城,名叫列柳城。這兩處都是漢中的咽喉之地。諸葛亮以為子丹沒有防備,必定會從這條路進軍。我和你先拿下街亭。諸葛亮知道我們堵住街亭的險要之路,截斷他的運糧渠道,必會連夜趕回漢中去。一等他撤軍,我就帶兵從小路上攻擊他,這樣就可以取得勝利。他如果不撤軍,我們就封鎖各處的小路,不放他們的糧草經過。一個月沒有糧食,蜀兵都會餓死,諸葛亮也一定會被我們捉住。”張郃聽完這番分析,十分佩服,於是領兵依計行事。
再說孔明在祁山寨中,忽然小卒來報:“到新城打探消息的人回來了。”孔明急忙喚他進帳問話。探子報告說:“司馬懿與張郃帶兵出關,來抵禦我軍。”孔明道:“如今司馬懿出關,定會攻取街亭,截斷我軍的咽喉要道。誰敢引兵去守街亭?”話音剛落,參軍馬謖說:“我願前往。”孔明不放心地說:“街亭雖小,卻十分重要,一旦街亭失守,我們的大軍就完了。你雖然深有謀略,但此地一無城郭,二無險阻,守起來極為困難。”馬謖說:“我自小熟讀兵書,對兵法的了解也不少。難道一個小小的街亭都守不住嗎?”孔明解釋說:“司馬懿並非等閑之輩,更有先鋒張郃,他可是魏國名將,你恐怕抵擋不住。”馬謖見軍師仍然不放心,氣急之中立下軍令狀,說是完不成任務,可斬全家。孔明見此,也就答應了他,說:“軍中無戲言啊。”便撥給他二萬五千精兵,又派平時做事謹慎的王平,與馬謖一同前去。出發之前,諸葛亮反複叮囑王平:“凡事要商議妥當了再做,不可輕忽。如果你們這次能牢守住街亭,就是奪取長安的第一功,切記!切記!”二人拜別了軍師,引兵離去。
孔明想了又想,還是怕馬、王兩人出現失誤,又喚來高翔說:“街亭東北邊有一座城,名叫列柳城,旁邊有偏僻的小路。我給你一萬軍兵,你到那裏屯駐。一旦街亭危急,你便引兵救援。”高翔領命,帶了軍隊離開。高翔一走,孔明又想:高翔不是張郃的對手,必須得派一員大將,屯駐在街亭的後麵,這才能夠萬無一失。於是喚魏延帶領本部人馬,去街亭後麵屯紮。魏延不滿地問:“我帶領的是前部部隊,應該在前殺敵,為什麼安排我在安閑的地方?”孔明說:“在前麵衝鋒破敵,是副將的事。現在派你接應街亭,守住陽平關的重要通道、漢中的咽喉,這是十分重大的任務,怎能說安閑?你不要輕看了這任務,壞了我們大事。千萬要小心謹慎!”魏延聽孔明這麼一說,大喜。於是引兵離去。
安排好這些,孔明這才稍稍安心,又叫來趙雲、鄧芝吩咐說:“司馬懿帶兵,與過去不相同了。你二人各自帶領一隊人馬,到箕穀,疑惑對方。遇到魏兵,你們有時出戰,有時不出戰,使他們心中驚疑。我會親領大軍,從斜穀長驅直進,攻打郿城。倘若我們能奪得郿城,那麼長安也可以拿下了。”於是趙、鄧二人受命而去。孔明命薑維做先鋒,大軍往斜穀而來。
再說馬謖、王平二人,領兵到了街亭。察看了一番地形,馬謖笑著說:“丞相何必如此多心呢?量這山僻地方,魏軍不敢來奪!”王平說:“即使魏兵不敢到來,我們仍要小心。可在這五路交叉處紮寨,命軍士砍伐樹木,做成柵欄,以作長久打算。”馬謖反對說:“道路交叉的地方哪裏適合紮寨?這路口旁邊有一座山,四麵並不相連,而且樹林廣茂,可以說是天然險峻。我們可以就在山上屯駐。”王平勸諫道:“參軍說得不對。如果我們在路口屯紮下來,築起一道城牆,賊兵就是有十萬,也不能偷偷越過,如果我們屯駐在山上,倘若魏兵驟然湧來,將四周團團圍住,你還能怎樣防守?”馬謖大笑道:“你真是短見!兵法有雲:‘憑高視下,勢如破竹。’倘若魏兵到來,我一定殺他個片甲不留。”王平見他不聽建議,著急地說:“我多次隨丞相出征,每到一個地方,丞相都盡心教導我。我看這山是個絕地,假如魏軍切斷我們取水的通道,我軍將不攻自亂。”馬謖生氣地說:“你不要亂說!孫子說過,‘置之死地而後生。’如果魏兵斷了我們水源,蜀兵還不死戰?那時以一擋百。我向來熟讀兵書,丞相有事尚且問我,你憑什麼阻止?”王平無奈地說:“如果將軍執意要在山上屯駐,請分一些兵馬給我,我在山下西麵紮個小寨。倘若魏軍到來,可以相互接應。”馬謖不答應。忽然,山中居民,成群結隊飛奔,大呼:“魏兵打來了!”王平正打算離開,馬謖見情勢急迫,說:“算了算了。你既然不聽我的話,就給你五千兵馬,你自己去紮寨。等我攻破魏兵,到了丞相麵前,可沒有你的功勞!”於是王平帶著五千人馬,在離山十裏遠的地方紮下營寨,又畫下地形圖,連夜差人去稟報孔明,報告馬謖不聽建議,在山上紮下營寨的事。