,在當夜二更時分從地道直接到達蜀軍左營從帳後地下衝出。
王含、蔣斌因為剛剛立下營寨還未穩定下來,擔心魏兵前來劫寨所以不敢解甲而睡。忽然聽到中軍大亂兩人急忙綽起兵器上馬時鄧忠已經引兵殺到。魏軍內外夾攻王、蔣二將奮死抵敵不住只好棄寨而逃。
姜維在帳中聽到左寨中大喊大叫料定有內應外合之兵於是急忙上馬立於中軍帳前傳令說:“如有妄動者斬!即便有敵兵殺到營邊也不許妄動只管以弓弩射之!”同時又傳令給右營也不許妄動。果然魏兵十餘次衝擊都被射回。一直衝殺到天明魏兵始終無法攻入蜀營。
鄧艾只好收兵回寨嘆息道:“姜維深得孔明的兵法精髓啊!兵在夜間而不驚慌將聞變而不混亂真是將才啊!”次日王含、蔣斌收聚起敗逃計程車兵在姜維面前請罪。姜維說:“這不是你們的罪過而是我沒有查明地形的緣故。”於是又撥出軍馬讓二人重新安營紮寨。接著將戰死士兵的屍體填入地道之中用土掩埋。然後派人送下戰書約定次日與鄧艾交鋒鄧艾欣然應允。
第二天兩軍列陣於祁山之前。姜維按照武侯八陣之法依照天、地、風、雲、鳥、蛇、龍、虎之形佈下了陣勢。鄧艾出馬看到姜維布成了八卦陣於是也佈下了相同的陣勢左右前後門戶一般無二。姜維持槍縱馬大叫道:“你仿效我排八卦陣也能變陣嗎?”鄧艾笑道:“你以為這八卦陣只有你才能布嗎?我既會佈陣豈有不知變陣之理!”說完鄧艾便勒馬入陣令執法官把旗左右招展瞬間變成了八八六十四個門戶然後又出陣前說道:“你看我變得如何?”姜維說:“雖然變得不錯但你敢與我八陣相圍嗎?”鄧艾說:“有何不敢!”於是兩軍各依隊伍而進開始了一場激戰。
鄧艾在中軍調遣兩軍衝突不斷但雙方的陣法都沒有錯亂。姜維殺到中間把旗一招忽然變成了“長蛇卷地陣”將鄧艾困在了垓心之中四面喊聲大震。鄧艾不識此陣心中大驚。蜀兵漸漸逼近鄧艾引眾將衝突不出。只聽得蜀兵齊聲高喊:“鄧艾早降!”鄧艾仰天長嘆道:“我一時自逞其能中了姜維的計策啊!”
忽然,西北角上有一彪軍殺入,鄧艾見是魏兵,於是順勢突圍而出。原來,救鄧艾的是司馬望。等到救出鄧艾時,祁山的九個營寨都已經被蜀兵佔領。鄧艾帶著敗兵退到渭水南岸紮營。鄧艾問司馬望:“你怎麼知道這個陣法並能救出我呢?”司馬望回答:“我年輕時在荊南遊學,曾與崔州平、石廣元為友,一起討論過這個陣法。今天姜維所變的是‘長蛇卷地陣’。如果從其他地方攻擊,必定無法攻破。我觀察到它的頭部在西北,所以從西北攻擊,自然就破了。”鄧艾感謝道:“我雖然學過陣法,但實際上並不懂得如何變化。你既然知道這個方法,明天我們用這個方法再奪回祁山的營寨,如何?”司馬望說:“我所學的恐怕瞞不過姜維。”鄧艾說:“明天你在陣上與他鬥陣法,我卻帶一軍偷偷襲擊祁山的後方。兩下混戰,定能奪回舊寨。”於是命令鄭倫為先鋒,鄧艾親自引軍襲擊山後,同時派人下戰書,挑戰姜維明天鬥陣法。
姜維接到戰書後,對眾將說:“我接受了武侯所傳的密書,這個陣法的變法共有三百六十五樣,按照周天之數。現在他挑戰我鬥陣法,這就像‘班門弄斧’一樣可笑!但其中必定有詐謀,你們知道嗎?”廖化說:“這一定是想騙我們鬥陣法,然後卻引一軍襲擊我們的後方。”姜維笑著說:“這正合我意。”於是命令張翼、廖化引一萬兵去山後埋伏。
第二天,姜維將九個營寨的兵力全部調出,分佈在祁山之前。司馬望帶著軍隊離開渭南,直接來到祁山之前,出馬與姜維對話。姜維說:“你請我鬥陣法,你先布出來讓我看看。”司馬望布成了八卦陣。姜維笑著說:“這就是我所佈的八陣之法,你現在偷學,有什麼了不起的!”司馬望說:“你也是偷學別人的方法而已!”姜維問:“這個陣有多少變化?”司馬望笑著說:“我既然能布出來,怎麼會不知道變化?這個陣有九九八十一變。”姜維笑著說:“你試試變來看看。”司馬望進入陣中變了幾次,然後出來說:“你認識我的變法嗎?”姜維笑著說:“我的陣法按照周天三百六十五變。你就像井底之蛙,怎麼會知道其中的玄妙呢!”司馬望自知雖然有這個變法,但實際上並沒有學全,於是勉強爭辯說:“我不信,你試試變來看看。”姜維說:“你叫鄧艾出來,我當面布給他看。”司馬望說:“鄧將軍自有良謀,不喜歡陣法。”姜維大笑說:“他有什麼良謀!不過是想騙我在這裡佈陣,他卻帶兵襲擊我們的山後而已!”司馬望大驚,正想要進兵混戰,被姜維用鞭梢一指,兩翼的兵力