曹睿得知孫權率三路大軍進攻襄陽等地的消息,親自率兵趕往合肥迎戰,又命田豫、劉劭救援襄陽、江夏。曹睿來到巢湖口,與吳軍相遇,令滿寵、張球連夜襲擊吳軍水寨。吳軍沒有防備,不戰而走,被魏軍燒毀了戰船糧草。陸遜得到消息,派人給孫權送信,請孫權派兵截斷魏軍的後路,不料信使被魏軍抓獲,魏軍加強了戒備。陸遜見機密泄露,便與孫權約定,逐步撤兵。幾天以後,吳軍撤回江東,曹睿見孫權撤兵,不敢大意,親自駐守合肥,以防有變。
諸葛亮在祁山,一麵令蜀軍將士與當地百姓共同耕地種田,以便長久駐軍,一麵派兵向魏軍挑戰,引誘司馬懿出戰,司馬懿不為所動,仍然堅守不出。諸葛亮便密令馬岱製造地雷,布置在上方穀。之後,諸葛亮令魏延出戰,吸引魏軍追趕,務必將司馬懿引誘進上方穀;命高翔驅趕木牛流馬照常運糧,吸引魏軍搶奪;又命與百姓共同種田的軍士攻打渭南,截住魏軍的退路。
夏侯惠、夏侯和向司馬懿請戰,司馬懿見夏侯兄弟決心出戰,便準許他們出戰。夏侯惠、夏侯和連續出兵,連連得勝。司馬懿見蜀軍連續戰敗,逐漸放鬆了警惕。司馬懿從俘虜口中得知,諸葛亮將中軍帳移到了上方穀,便命眾將攻打蜀軍大營,自己隨後接應。諸葛亮望見得知魏軍攻打蜀軍大營的消息,傳令眾將準備趁機奪取魏軍大營,占領渭南。
魏軍向蜀軍大營發起攻勢,蜀軍四麵殺來,假裝趕來救援。司馬懿見了,親率司馬師、司馬昭殺奔上方穀而來,準備燒毀蜀軍的糧草。在半路上,魏延殺出,又一路敗退,將司馬懿父子引誘進上方穀。司馬懿進入上方穀,見穀內隻有草房,並沒有守軍,又不見了魏延的蹤影,猛然醒悟,說道:“如果諸葛亮截住穀口,我軍必敗!”於是立即傳令撤退。