建兴十四年八月,蜀魏两军于祁山相遇,魏先锋徐晃挑战,蜀先锋马岱拍马舞刀接住厮杀,张郃冲杀出,关索向前抵住,许仪、邓艾各挺兵器杀出,张绍、夏侯霸分别抡枪接住,魏之左右张虎、乐琳再度冲出,蜀将吴懿、马忠各拍马向前迎战,倏忽之间,陈泰斜刺里杀出,准备夹攻马岱,姜维见之大怒,自抡枪出马接战,一时间十四员大将杀得难分难解。魏军主帅司马师正待上前冲击蜀阵,忽然魏军背后喊声大起,一彪军从背后杀来,司马师大惊,赶紧拍马来看,只见蜀汉太尉赵云拍马挺枪杀来,背后王平、廖化各抡枪刀助阵,司马师、司马昭哪里挡得住,大败,阵前姜维见了,弃了陈泰,回至蜀军阵前,将枪一指,蜀兵冲杀过来,一时间两下夹击,魏军大败,折兵三万有余。
姜维传令收兵,赵云来见,维贺曰:“老将军建此不世之功,可喜可贺!”云曰:“吾何功之有?问将军与魏军交战,故引轻骑八万来助战。”维大喜,令置酒与大众欢饮,席间,云谏曰:“今我军小胜,司马师必然以为我军无备,引军劫寨,此不可不防。”姜维曰:“老将军之言有理,余立即部署。”遂发下号令,令赵云引本部兵伏于寨外,关索、张绍各引五万兵衔枚疾进,伏于大路两旁,但听炮声响起,便杀出截敌。维自带诸将潜于大寨之后,只在敌楼上留下数人观察敌情。
是夜,司马师果然与许仪、徐晃、张郃、陈泰引兵十万前来劫寨,见寨内无备,以为蜀军中计,大喜,即便杀入寨来,但见四周并无一人,师大叫:“中计!”,急忙命军撤,一声炮响,赵云从寨前杀至,姜维从寨后杀来,两下夹击,魏军大败。徐晃拍马来阻敌,却被马岱射中前额,幸得张郃救下。司马师急令军快速撤退,魏军丢盔弃甲,四散而逃,才至半路,炮声四起,关索、张绍督兵杀出,本已疲乏的魏军大溃,司马师带诸将夺路而逃。
天明收兵,魏军计点人数,折兵五万有余,徐晃伤重,不久不治而亡,师甚哀伤,坐于大帐之内惆怅。忽然接到探报,说司马懿病危,师、昭大惊,只得令邓艾、陈泰将兵十万把守祁山,不许交战,自引军回洛阳。大军才至洛阳,又有探子来报,说吴军统帅诸葛恪帅军三十万来取新城,司马师急令司马昭帅兵阻挡之。
且说姜维与邓艾相持于祁山已数月了,魏兵惧蜀军势大,不敢出兵迎战。赵云面见姜维曰:“吾以为魏军全军在此,渭南必然无太多兵力布防,某若引本部兵后袭此地,断其后路,则祁山之守军必无心据守矣。”维善其计策,遂命云去讫,自引军队每日挑战,邓艾见蜀军之状,谓陈泰曰:“蜀军数十日不战,最近则每日来挑战,其意思必然想袭击我后方也,渭南兵力不多,恐难以支持太久。公可速速引兵援之。”泰从之,提兵四万来渭南救援,然才至寨前,并无一人,泰心疑,正欲叫门,一声炮响,赵云引军从寨内冲出,王平、廖化各引兵从背后冲来,三面夹击,陈泰军大败,折兵三万有余,不敢回见邓艾,冲出重围望长安而去。