馬師問諸將曰:“誰敢去戰蜀兵?”輔國將軍徐質應聲出曰:“某將願往!”司馬師大喜,即令徐質為先鋒,司馬昭為都督,兵進隴西。是日,軍至董亭,迎遇姜維,列旗對陣。徐質舞一柄開山大斧,出馬挑戰,蜀陣中廖化上迎,戰不數合,廖化敗回。張翼挺槍接戰,不數合,亦敗歸本陣。徐質舞大斧一馬當先,引兵衝殺,蜀兵大敗,退走三十餘里。司馬昭收兵,各自下寨。
夏侯霸曰:“徐質勇猛,來日詐敗,以伏兵勝之。”姜維曰:“司馬昭精通兵法,他見地勢遮掩,必不來追。”夏侯霸曰:“如此奈何?”姜維曰:“魏兵多次斷我糧道,今用此計誘之,必斬徐質。”遂喚廖化、張翼吩咐與計策,二將領命而去。姜維又令於大寨之外,多排鹿角,密撒鐵蒺藜,以示久計。
徐質連日挑戰,蜀兵不出。忽稍馬來報:“蜀兵在鐵籠山,以木牛流馬搬運糧草。”司馬昭謂徐質曰:“往者數勝蜀軍,皆因斷其糧道,今蜀兵在鐵籠山運糧,將軍可引五千精兵襲其糧路,蜀兵必退。”初更時分,徐質兵至鐵籠山,見蜀兵二百餘人驅木牛流馬正行。徐質掄大斧殺出,蜀兵棄糧而走。徐質大喜,分兵一半將糧送回,自引一半去追蜀軍。
追出十餘里,忽見車仗堵塞前路,徐質令軍兵清障。話音未落,車仗火起,徐質大叫不好,引兵急退。不料,後路亦被火斷,徐質大怒,冒煙突火引兵衝出。心神未穩,忽聽炮響,伏兵盡起,左是廖化,右是張翼,兩面夾攻。徐質仗勇,隻身砍出一條血路,透出重圍。正人困馬乏,忽一彪軍殺出截住去路,為首將相貌異眾,長槍威風,正是姜維。徐質無奈,勉強交戰,殺不數合,被姜維一槍刺倒坐騎,徐質滾鞍落地,眾軍齊上,亂槍刺死。
另一半送糧軍,被夏侯霸伏兵悉數生擒。夏侯霸令蜀兵換了魏軍旗甲,徑往魏寨,守寨軍兵放入,蜀兵就寨中忽然殺起,魏兵大亂,四處逃竄。司馬昭不知何故,手足無措,慌忙上馬而走。忽見廖化迎面殺來,司馬昭急忙撥馬落荒而走。馬行未遠,又撞見姜維引兵殺到,司馬昭驚慌,引殘兵敗將奔上鐵籠山。此山只有一路,四面險峻,易守難攻。姜維乃令一部人馬困山,自引一部連下河關、狄道、臨洮三縣,拔三縣之民入川。
司馬昭殘兵六千餘人被困山上,山有一泉,僅夠百人飲用。司馬昭仰天嘆曰:“我等皆死此地矣!”主簿王韜曰:“昔日,耿恭拜井而出甘泉,將軍何不效之?”司馬昭遂登山頂,對泉拜曰:“司馬昭被困此山,若昭當死,令泉枯竭,昭即自刎,軍士降蜀。若昭壽算未盡,願天早賜甘泉,以活眾命!”拜告方畢,泉水大出,取之不竭。司馬昭大喜。
左將軍郭淮聞報大驚,即欲提兵去救。陳泰曰:“姜維聯合羌兵,意在南安。今羌兵將至,將軍若提兵去救鐵籠山,羌兵必襲我後。不如先用詐降計退了此軍,再救鐵籠山無憂矣。”郭淮以為然。於是,陳泰引五千兵徑至羌王大寨,卸甲而入。陳泰泣拜告曰:“郭淮狂妄,常有殺泰之心,故引本部來投!”羌王大喜。陳泰曰:“郭淮營中虛實,末將盡知,今夜引軍劫寨,定成大功!”羌王遂令先鋒俄何燒戈,與陳泰同往劫寨。
俄何燒戈令五千降兵在後,命陳泰引羌兵在前。時值二更,摸至魏寨,寨門竟然大開。陳泰縱騎一馬先入,俄何燒戈引羌兵衝進大寨,忽覺天旋地轉,連人帶馬跌入陷坑。陳泰降兵自後掩殺,郭淮伏兵兩邊夾攻,羌兵大亂,死者無數,活者皆降。俄何燒戈不肯被擒,自刎而死。
郭淮、陳泰乘勝殺入羌王寨中,迷當大王慌忙上馬,被魏將生擒,押見郭淮。郭淮下馬親解其縛,謂曰:“朝廷上下皆以為大王忠義,今何故助蜀人耶?”迷當自慚請罪。郭淮曰:“大王今為前部,去解鐵籠山之圍,退了蜀兵必有重賞。”於是,迷當引羌兵在前,郭淮兵馬隨後,徑奔鐵籠山而來。
是夜三更,兵至蜀寨,迷當引百餘魏將所扮羌人直入大營。姜維、夏侯霸出帳迎接。魏將未等迷當開口,忽自背後殺起。姜維大驚,上馬急走,羌兵、魏兵一齊殺入大寨,蜀兵措手不及,頓時大亂四紛五落。姜維走急無槍,馬過樹叢,箭枝盡落。郭淮趕來,見姜維手無寸鐵,驟馬緊追。二馬漸近,姜維空拉弓響,郭淮連連躲避,無有箭至。郭淮掛住鋼槍,開弓一箭,姜維抬手接住鵰翎,弓響箭到正中郭淮面門,栽落馬下。姜維回馬來殺郭淮,魏軍擁至,下手不及,只抄得郭淮鋼槍而去。
魏兵救郭淮回寨,拔出箭頭,血流不止而亡。朝廷念其功高,追贈大將軍,諡曰貞侯。司馬昭趁機殺下鐵籠山。夏侯霸敗走,路遇姜維。蜀兵折損過半,糧草