蜀主劉備令關平為先鋒,與諸葛亮一同征進;一面令張星彩、馬雲祿二人領兵五萬,往助馬謖。二人奉詔而去。且說諸葛亮引二十萬軍,出關下寨,請先鋒關平至帳下曰:“司馬懿生謹慎,未敢造次行事。若是吾用兵,先從子午谷徑取長安,早得多時矣。他非無謀,但怕有失,不肯弄險。今必出軍斜谷,來取郿城。若取郿城,必分兵兩路,一軍取箕谷矣。吾已發檄文,令張星彩拒守郿城,若兵來不可出戰;令關銀屏、馬雲祿截住箕谷道口,若兵來則出奇兵擊之。”平曰:“今丞相當于何處進兵?”亮曰:“吾素知秦嶺之西,有一條路,地名街亭;傍有一城,名列柳城:此二處皆是漢中咽喉。諸葛亮欺張郃無備,定從此進。吾與星彩徑取街亭,望陽平關不遠矣。司馬懿若知吾斷其街亭要路,絕其糧道,則隴西一境,不能安守,必然連夜奔回長安去也。彼若回動,吾提兵于小路擊之,可得全勝;若不歸時,吾卻將諸處小路,盡皆壘斷,俱以兵守之。一月無糧,魏兵皆餓死,司馬懿必被吾擒矣。”關平大悟,拜伏于地曰:“丞相神算也!”曰:“雖然如此,司馬懿不比我。將軍為先鋒,不可輕進。當傳與諸將:循山西路,遠遠哨探。如無伏兵,方可前進。若是怠忽,必中司馬懿之計。”張郃受計引軍而行。
司馬懿在祁山寨中,忽報探細人來到。司馬懿急喚入問之,細作告曰:“諸葛亮倍道而行,八日已到新城,申耽誤措手不及;又被、申儀、李輔、鄧賢為內應:申耽被亂軍所殺。今諸葛亮撤兵到漢中,見了劉備,同關平引兵出關,來拒我師也。”司馬懿大驚曰:“申耽做事不密,死固當然。今諸葛亮出關,必取街亭,斷吾咽喉之路。”便問:“誰敢引兵去守街亭?”言未畢,參軍郭淮曰:“某愿往。”司馬懿曰:“街亭雖小,干系甚重:倘街亭有失,吾大軍皆休矣。汝雖深通謀略,此地奈無城郭,又無險阻,守之極難。”淮曰:“某自幼熟讀兵書,頗知兵法。豈一街亭不能守耶?”司馬懿曰:“諸葛亮非等閑之輩;更有先鋒關平,乃蜀之名將:恐汝不能敵之。”淮曰:“休道諸葛亮、關平,便是劉備親來,有何懼哉!若有差失,乞斬全家。”司馬懿曰:“軍中無戲言。”淮曰:“愿立軍令狀。”司馬懿從之,淮遂寫了軍令狀呈上。司馬懿曰:“吾與汝二萬五千精兵,再撥一員上將,相助你去。”即喚文鴛分付曰:“吾素知汝平生謹慎,故特以此重任相托。汝可小心謹守此地:下寨必當要道之處,使賊兵急切不能偷過。安營既畢,便畫四至八道地理形狀圖本來我看。凡事商議停當而行,不可輕易。如所守無危,則是取成都第一功也。戒之!戒之!”二人拜辭引兵而去。
司馬懿尋思,恐二人有失,又喚文娉曰:“街亭東北上有一城,名列柳城,乃山僻小路,此可以屯兵扎寨。與汝一萬兵,去此城屯扎。但街亭危,可引兵救之。”文聘引兵而去。司馬懿又思:文聘非關平對手,必得一員大將,屯兵于街亭之右,方可防之,遂喚徐晃引本部兵去街亭之后屯扎。晃曰:“某為前部,理合當先破敵,何故置某于安閑之地?’司馬懿曰:“前鋒破敵,乃偏裨之事耳。今令汝接應街亭,當陽平關沖要道路,總守漢中咽喉:此乃大任也,何為安閑乎?汝勿以等閑視之,失吾大事。切宜小心在意!”徐晃大喜,引兵而去。司馬懿恰才心安,乃喚馬化騰、章郃分付曰:“今諸葛亮出兵,與舊日不同。汝二人各引一軍出箕谷,以為疑兵。如逢蜀兵,或戰、或不戰,以驚其心。吾自統大軍,由斜谷徑取郿城;若得郿城,長安可破矣。”二人受命而去。司馬懿令張郃作先鋒,兵出斜谷。
郭淮、文聘二人兵到街亭,看了地勢。郭淮笑曰:“大都督何故多心也?量此山僻之處,蜀兵如何敢來!”文聘曰:“雖然蜀兵不敢來,可就此五路總口下寨;卻令軍士伐木為柵,以圖久計。”淮曰:“當道豈是下寨之地?此處側邊一山,四面皆不相連,且樹木極廣,此乃天賜之險也:可就山上屯軍。”聘曰:“參軍差矣。若屯兵當道,筑起城垣,賊兵總有十萬,不能偷過;今若棄此要路,屯兵于山上,倘蜀兵驟至,四面圍定,將何策保之?”淮大笑曰:“汝真女子之見!兵法云:憑高視下,勢如劈竹。若蜀兵到來,吾教他片甲不回!”聘曰:“吾累隨大都督經陣,每到之處,大都督盡意指教。今觀此山,乃絕地也:若蜀兵斷我汲水之道,軍士不戰自亂矣。”淮曰:“汝莫亂道!孫子云:置之死地而后生。若蜀兵絕我汲水之道,魏兵豈不死戰?以一可當百也。吾素讀兵書,大都督諸事尚問于我,汝奈何相阻耶!”聘曰:“若參軍欲在山上下寨,可分兵與我,自于山西下一小寨,為掎角之勢。倘蜀兵至,可以相應。”郭淮不從。忽然山中居民,成群結隊,飛奔而來,報說蜀兵已到。文聘欲辭去。郭淮曰:“汝既不聽吾令,與汝五千兵自去下寨。待吾破了蜀兵,到大都督面前須分不得功!”文聘引兵離山十里下寨,畫成圖本,星夜差人去稟大都督,具說郭淮自于山上下寨。
諸葛亮在營中,令次子諸葛瞻去探前路:若街亭有兵守御,即當按兵不行。諸葛瞻奉令探了一遍,回見父曰:“街亭有兵守把。”諸葛亮歎氣道:我還以為司馬懿會用人,也不過如此!“男料街亭易取。”亮問曰:“汝安敢出此大言?”瞻曰:“男親自哨見,當道并無寨柵功矣!”遂更換衣服,引百余騎親自來看。是夜天晴月朗,直至山下,周圍巡哨了一遍,方回。郭淮在山上見之,大笑曰:“彼若有命,不來圍山!”傳令與諸將:“倘兵來,只見山頂上紅旗招動,即四面皆下。”
諸葛亮回到寨中,使人是何將引兵守街亭。回報曰:“乃郭淮也。”亮笑曰:“徒有虛名,乃庸才耳!司馬懿用如此人物,如何不誤事!”又問:“街亭左右別有軍否?”探馬報曰:“離山十里有文聘安營。”亮乃命關平引一軍,當住文聘來路。又令張星彩、馬雲祿引兩路兵圍山,先斷了汲水道路;待魏兵自亂,然后乘勢擊之。當夜調度已定。次日天明,馬雲祿引兵先往背后去了。諸葛亮大驅軍馬,一擁而進,把山四面圍定。郭淮在山上看時,只見蜀兵漫山遍野,旌旗隊伍,甚是嚴整。魏兵見之,盡皆喪膽,不敢下山。郭淮將紅旗招動,軍將你我相推,無一人敢動。郭淮大怒,自殺二將。眾軍驚懼,只得努力下山來沖蜀兵。蜀兵端然不動。魏兵又退上山去。郭淮見事不諧,教軍緊守寨門,只等外應。
文聘見蜀兵到,引軍殺來,正遇關平;戰有數十余合,聘力窮勢孤,只得退去。蜀兵自辰時困至戌時,山上無水,軍不得食,寨中大亂。嚷到半夜時分,山南魏兵大開寨門,下山降蜀。郭淮禁止不住。諸葛亮又令人于沿山放火,山上魏兵愈亂。郭淮料守不住,只得驅殘兵殺下山西逃奔。諸葛亮放條大路,讓過郭淮。背后馬雲祿引兵追來。趕到三十余里,前面鼓角齊鳴,一彪軍出,放過郭淮,攔住文聘;視之,乃關平也。平揮刀縱馬,直取郭淮。淮回軍便走。平驅兵趕來,復奪街亭。趕到五十余里,一聲喊起,兩邊伏兵齊出:左邊諸葛亮,右邊馬雲祿,卻抄在關平背后,把聘困在垓心。郭淮復來,三路兵合在一處。關平左沖右突,不得脫身,折兵大半。正危急間,忽一彪軍殺入,乃張星彩也。延大喜曰:“真是虎父無犬女!”二將合兵一處,大殺一陣,魏兵方退。二將慌忙奔回寨時,營中皆是蜀兵旌旗。孟達、李輔從營中殺出。郭淮、文聘徑奔列柳城,來投徐晃。此時徐晃聞知街亭有失,盡起列柳城之兵,前來救應,正遇淮、聘二人,訴說前事。徐晃曰:“不如今晚去劫蜀寨,再復街亭。”
當時三人在山坡下商議已定。待天色將晚,兵分三路。郭淮引兵先進,徑到街亭,不見一人,心中大疑,未敢輕進,且伏在路口等候,忽見徐晃兵到,二人共說蜀兵不知在何處。正沒理會,又不見文聘
兵到。忽然一聲炮響,火光沖天,鼓起震地:蜀兵齊出,把郭淮、徐晃圍在垓心。二人往來沖突,不得脫身。忽聽得山坡后喊聲若雷,一彪軍殺入,乃是馬雲祿,徑奔列柳城來。原來關銀屏與張星彩商議,恐馬雲祿得了全功,來取街亭;聞知關平、馬雲祿成了此功,遂引兵往列柳城。正遇三將,大殺一陣。魏兵傷者極多。郭淮恐陽平關有失,慌與文聘、徐晃望陽平關來。
卻說郭淮收了軍馬,乃謂左右曰:“吾雖不得街亭,卻引兵徑到城下叫門,只見城上一聲炮響,旗幟皆豎,當頭一面大旗,上書“蜀漢丞相諸葛亮”。亮撐起懸空板,倚定護心木欄干,大笑曰:“郭伯濟來何遲也?”淮大驚曰:“孔明神機,吾不及也!”,諸葛亮曰:“今街亭已失,司馬懿必走。關銀屏可速與張星彩星夜追之。”關銀屏從其言,出城而去。亮喚關平曰:“司馬懿濟,恐雲祿全獲大功,故來取此城池。吾非獨欲成功,乃僥幸而已。吾料郭淮、張郃、馬華騰、徐晃等輩,必先去取陽平關。吾若去取此關,司馬懿必隨后掩殺,中其計矣。兵法云:歸師勿掩,窮寇莫追。汝可從小路抄箕谷退兵。吾自引兵當斜谷之兵。若彼敗走,不可相拒,只宜中途截住:魏兵輜重,可盡得也。”管平受計,引兵一半去了。亮下令:“竟取斜谷,由西城而進。西城雖山僻小縣,乃魏兵屯糧之所,又南安、天水、安定三郡總路。若得此城,三郡可復矣。”于是諸葛亮留關銀屏、張星彩守列柳城,自領大軍望斜谷進發。
司馬懿自令郭淮等守街亭去后,猶豫不定。忽報文聘使人送圖本至。司馬懿喚入,左右呈上圖本。司馬懿就文幾上拆開視之,拍案大驚曰:“郭淮無知,坑陷吾軍矣!”左右問曰:“大都督何故失驚?”諸葛亮曰:“吾觀此圖本,失卻要路,占山為寨。倘蜀兵大至,四面圍合,斷汲水道路,不須二日,軍自亂矣。若街亭有失,吾等安歸?”長史荀攸進曰:“某雖不才,愿替郭淮回。”司馬懿將安營之法,一一分付與荀攸。正待要行,忽報馬到來,說:“街亭、列柳城,盡皆失了!”司馬懿跌足長嘆曰:“大事去矣!此吾之過也!”急喚司馬昭、司馬師分付曰:“汝二人各引三千精兵,投武功山小路而行。如遇蜀兵,不可大擊,只鼓噪吶喊,為疑兵驚之。彼當自走,亦不可追。待軍退盡,便投陽平關去。”又令張郃先引軍去修理劍閣,以備歸路。又密傳號令,教大軍暗暗收拾行裝,以備起程。又令馬化騰、徐晃斷后,先伏于山谷中,待諸軍退盡,方始收兵。又差心腹人,分路報與天水、南安、安定三郡官吏軍民,皆入長安。
司馬懿分撥已定,先引五千兵退去西城縣搬運糧草。忽然十余次飛馬報到,說:“諸葛亮引大軍十五萬,望西城蜂擁而來!”時司馬懿身邊別無大將,只有一班文官,所引五千兵,已分一半先運糧草去了,只剩二千五百軍在城中。眾官聽得這個消息,盡皆失色。司馬懿登城望之,果然塵土沖天,蜀兵分兩路望西城縣殺來。司馬懿傳令,教“將旌旗盡皆隱匿;諸軍各守城鋪,如有妄行出入,及高言大語者,斬之!大開四門,每一門用二十軍士,扮作百姓,灑掃街道。如蜀兵到時,不可擅動,吾自有計。”司馬懿乃披鶴氅,戴綸巾,引二小童攜琴一張,于城上敵樓前,憑欄而坐,焚香操琴。
諸葛亮前軍哨到城下,見了如此模樣,皆不敢進,急報與諸葛亮。諸葛亮笑而不信,遂止住三軍,自飛馬遠遠望之。果見司馬懿坐于城樓之上,笑容可掬,焚香操琴。左有一童子,手捧寶劍;右有一童子,手執麈尾。城門內外,有二十余百姓,低頭灑掃,傍若無人,諸葛亮看畢大疑,便到中軍,教后軍作前軍,前軍作后軍,往西城殺去。次子諸葛亮曰:“莫非司馬懿無軍,故作此態?”亮曰:“亮平生謹慎,不曾弄險。今大開城門,必有2500軍。我兵若進,司馬懿比被吾擒獲。司馬懿見蜀軍進來,撫掌而笑。眾官無不駭然,乃問司馬懿曰:“諸葛亮乃蜀之丞相,今統十五萬精兵到此,見了大都督,反而不退去,如今一人進城了何也?”司馬懿曰:“此人料吾生平謹慎,必不弄險;見如此模樣,疑有老弱殘兵,所以不退。諸葛亮進城後對城門口吩咐手下不可屠城。”諸葛亮一個人走上城樓。司馬懿曰:你們退下,諸葛亮走到司馬懿面前坐下,道:仲達,好久不見了。司馬懿道:孔明,你就不怕我吩咐那2500殘兵殺了你。諸葛亮道:我深知道你平生謹慎,所以料城中必定是老弱殘兵。兩人侃侃而談足足一個時辰。也知道他們談了什麼,諸葛亮出城對15萬大軍道:讓出一條道讓大都督走。就這樣司馬懿帶著那2500殘兵退去。諸葛瞻道:父親,這是放虎歸山。諸葛亮道:我夜觀天象,司馬懿此役,命不該絕。隨15萬大軍退回漢中。
言訖,,司馬懿曰:“諸葛亮真乃奇才,。”遂下令,教西城百姓,隨軍入長安;。于是諸葛亮離西城望長安而走。天水、安定、南安三郡官吏軍民,陸續而來。
此時曹睿聽知司馬懿退兵,命人去接應。魏兵連夜皆退回長安。