曹魏起三路大軍,迎拒東吳入寇:左路劉劭救淮陰,右路田豫救襄陽,中路魏帝親征,以滿寵為領軍司馬救合淝。滿寵引軍至巢湖,望見東岸戰船似城旌旗如雲,乃至中軍奏曹睿曰:“吳人素來輕我水戰,見我兵至,竟不提備,今夜可劫其水寨,必獲大勝!”曹睿即命驍將張球,引五千精兵各帶火具,自水上攻之;令滿寵引五千輕騎,自陸岸攻之;曹睿親督大軍,隨後接應。
夜至二更,兩路齊發,張球軍直抵吳兵水寨,馳船闖入,四下縱火。吳兵驚慌,舟船亂撞,大火燒燬戰船器具不計其數。吳兵剛逃上岸,滿寵引輕騎掩至,一陣衝殺,屍橫遍野。曹睿驅兵,乘勢大進,孫權抵敵不住,敗退江東。不數日,快馬連報:“孫韶兵敗淮陰,退走廣陵;諸葛瑾兵敗襄陽,退至沔口。”孫權大挫,自此不振。魏軍大獲全勝,眾將摩拳擦掌,要一舉過江,踏平江東。曹睿曰:“孫權大敗,乃一時輕敵之故也,今天下三足鼎立,東吳有大江之險,上下同心,未可平也。”遂命諸將各守險要,帝駕班師洛陽。
孔明於棋山謀劃長久之計,乃令蜀兵與魏民相雜墾田,凡有收成,軍得一份,民得兩份,魏民皆悅。司馬師入告其父曰:“蜀兵奪我許多糧米,今又與民屯田渭濱,如此必成長久之勢,不如大戰一場,決一雌雄。”司馬懿曰:“我奉聖旨堅守,不可輕出。”忽報:“魏延高挑都督金盔,寨前罵戰。”眾將憤慨。司馬懿曰:“孔明之計神鬼莫測,我與之戰敗多勝少,但我不出其無能為也,當以堅守為上。”眾將聽令。
孔明見司馬懿總是不出,乃謀劃一計,於是升帳。命馬岱於上方谷大立木柵,多堆柴草上撒火硝,四面埋雷,谷中半坡虛搭窩鋪,然後伏兵兩側,只等司馬懿入谷,立即縱火;又令人於谷口,高豎七星號帶,夜設七架火鼓;命魏延引五百軍兵,屯於谷前山道,但見司馬懿兵來,即將其誘入谷中;又命高翔將木牛流馬分為三十頭一隊,運載糧米,于山道至上方谷之間,往來行走,如被魏兵搶去,便是大功。三將得令而去。孔明又令棋山大寨所有兵馬,皆去屯田,且吩咐眾將曰:“若魏兵來戰,只許詐敗,不許勝敵,但見司馬懿提兵大出,即合力猛攻其渭南大營。”眾將遵命,分屯各處。
夏侯惠、夏侯和入帳告司馬懿曰:“今蜀兵四散屯田,各處結營,以木牛流馬往來上方谷運糧,若不早圖,日久根深,更難撼也。”司馬懿曰:“恐又是諸葛亮誘我之計。”二人曰:“都督如此疑慮,蜀寇何日可破?我二人願提兵一戰,以報大恩!”司馬懿曰:“既如此,許你二人出戰。”於是,夏侯惠、夏侯和各引五千兵馬離寨。
忽遇蜀兵驅木牛流馬運糧,夏侯和、夏侯惠縱兵衝殺,蜀軍奔走,木牛流馬盡被搶獲。驅回營寨,司馬懿大喜。次日,兄弟二人又掠得蜀兵百餘人,司馬懿親自盤問。蜀兵告曰:“丞相料都督堅守不出,即命軍兵四散屯田,以為長久之計,不想被擒。”司馬懿即將蜀兵盡皆放回。夏侯和曰:“何不殺之?”司馬懿曰:“此等小卒,殺之何益?放歸本寨,必說我寬厚仁慈,可瓦解其軍心也。”半月之間,魏兵連勝,蜀兵連敗,司馬大都督疑雲盡掃,雄心復振。
是日,又擒來蜀兵數十人,司馬懿問曰:“孔明現在何處?”軍卒告曰:“丞相於上方谷之西紮下營帳,每日督促運糧,皆囤上方谷。”司馬懿聚將令曰:“孔明營帳今在上方谷之西,來日你等併力攻取棋山大寨,我親自引兵接應。”眾將領命出帳。司馬師問曰:“父親何故不取蜀兵散營,卻攻棋山大寨?”司馬懿曰:“棋山營寨,乃蜀軍根本,彼若見我大兵攻之,各營必傾兵來救,我則直取上方谷燒其囤糧,蜀兵無糧,必大敗也。”司馬師拜服。
次日,魏兵出動,俱往棋山大寨進發。司馬懿與長子司馬師、次子司馬昭引五千精銳,徑往上方谷而來。張虎、樂綝各引五千人馬,為其後應。孔明在山頂,望見魏兵或三千一隊,或五千一隊,前顧後盼,紛紛出動,料其必是去攻棋山大寨。遂令快馬飛傳各軍:“若魏兵攻我大寨,不必來救,速取南岸魏營,斷彼歸路。”各軍聞令,聚兵備戰。魏兵大攻棋山,殺聲震天,蜀兵奔走,各營出動。司馬懿大喜,以為蜀兵中計,於是緊催兵馬,殺奔上方谷。
魏延屯兵當道,望眼欲穿。忽見風捲塵雲,一彪魏軍殺來,魏延提兵前出,果然是司馬懿親自領兵。魏延大喝:“司馬懿,哪裡去?”舞刀上迎。魏將紛出,大殺一陣,魏延撥馬望七星號帶而走,司馬懿引兵追趕。魏延奔入上方谷,司馬懿勒住兵馬,令人稍探。回報曰:“谷內確無伏兵,山坡皆是草房。”司馬懿大喜