228年,諸葛亮出兵伐魏,南安、安定、天水三城守將望風而降。此後,在軍事要地街亭的防守中,諸葛亮起用了智謀過人、但缺少實戰經驗的馬謖。結果,馬謖隻知照搬兵書教條,不聽從部下的正確建議,結果戰敗,失了街亭。戰後,諸葛亮揮淚斬馬謖,並且自貶三級。此戰的後果嚴重,不但使蜀國損失了智謀之士,更重要的是,魏國在原本防守空虛的西線部署了更多的兵力,使蜀漢從此失去了奇襲魏地的機會,此後諸葛亮伐魏再也沒有建樹。街亭失守之後,蜀國大傷元氣,再也難以發動大規模的正麵戰爭,由攻勢進入了守勢。諸葛亮心情也極度低落,常常自責:“這一切都是我的錯啊,現在大勢已去了!”更讓諸葛亮擔心的是,損兵折將的蜀軍隨時有可能會被氣勢正盛的魏軍截斷退路,導致全軍覆沒。
為了保存實力、避免更大損失,諸葛亮強忍著痛苦,冷靜地布置撤軍。諸葛亮先把小將關興、張苞叫到帳中,吩咐道:“我現在隻能給你們每人二千人馬,不要求你們殺敵,隻要能拖延、震懾敵人就好。你們埋伏在武功山小路的兩側,一旦魏軍前來襲擊,你們不要迎戰,隻要大聲擊鼓呐喊,嚇退敵軍就算達到目的。之後,你們就取道陽平關,撤兵回國。”關興、張苞領命而去。緊接著,諸葛亮又把張冀叫來,神色嚴肅地說:“我給你些人馬,你率領他們搶修出劍閣通道,一定要快,為大隊人馬撤退做好準備。”張冀鄭重地點點頭,帶領人馬飛奔劍閣通道。這時,諸葛亮的心緒基本平靜下來,他又傳令下去:各路大軍悄悄收拾行裝,即刻撤退。
一切布置停當,諸葛亮長舒了一口氣。他命令駐城守軍整理行裝,準備撤離。正在這時,忽然十幾匹馬飛奔入城,原來是前方負責偵察的士兵回來了。他們帶回來一個致命的消息:魏國司馬懿率領十五萬大軍,已殺向西城,直撲城下。