青龍元年,穿成國渠,築臨晉陂,溉田數千頃,國以充實。
二年,亮又率眾十餘萬出斜穀,壘於郿之渭水南原。天子憂之,遣征蜀護軍秦朗督步騎二萬,受帝節度。諸將欲住渭北以待之,帝曰:“百姓積聚皆在渭南,此必爭之地也。”遂引軍而濟,背水為壘。因謂諸將曰:“亮若勇者,當出武功依山而東,若西上五丈原,則諸軍無事矣。”亮果上原,將北渡渭,帝遣將軍周當屯陽遂以餌之。數日,亮不動。帝曰:“亮欲爭原而不向陽遂,此意可知也。”遣將軍胡遵、雍州刺史郭淮共備陽遂,與亮會於積石,臨原而戰,亮不得進,還於五丈原。會有長星墜亮之壘,帝知其必敗,遣奇兵掎亮之後,斬五百餘級,獲生口千餘,降者六百餘人。時朝廷以亮僑軍遠寇,利在急戰,每命帝持重,以候其變。亮數挑戰,帝不出,因遺帝巾幗婦人之飾。帝怒,表請決戰,天子不許,乃遣骨鯁臣衛尉辛毗杖節為軍師以製之。後亮複來挑戰,帝將出兵以應之,毗杖節立軍門,帝乃止。初,蜀將薑維聞毗來,謂亮曰:“辛毗杖節而至,賊不複出矣。”亮曰:“彼本無戰心,所以固請者,以示武於其眾耳。將在軍,君命有所不受,苟能製吾,豈千裏而請戰邪!”帝弟孚書問軍事,帝複書曰:“亮誌大而不見機,多謀而少決,好兵而無權,雖提卒十萬,已墮吾畫中,破之必矣。”與之對壘百餘日,會亮病卒,諸將燒營遁走,百姓奔告,帝出兵追之。亮長史楊儀反旗鳴鼓,若將距帝者。帝以窮寇不之逼,於是楊儀結陣而去。經日,乃行其營壘,觀其遺事,獲其圖書、糧穀甚眾。帝審其必死,曰:“天下奇才也。”辛毗以為尚未可知。帝曰:“軍家所重,軍書密計、兵馬糧穀,今皆棄之,豈有人捐其五藏而可以生乎?宜急追之。”關中多蒺藜,帝使軍士二千人著軟材平底木屐前行,蒺藜悉著屐,然後馬步俱進。追到赤岸,乃知亮死。審問,時百姓為之諺曰:“死諸葛走生仲達。”帝聞而笑曰:“吾便料生,不便料死故也。”先是,亮使至,帝問曰:“諸葛公起居何如,食可幾米?”對曰:“三四升。”次問政事,曰:“二十罰已上皆自省覽。”帝既而告人曰:“諸葛孔明其能久乎!”竟如其言。亮部將楊儀、魏延爭權,儀斬延,並其眾。帝欲乘隙而進,有詔不許。
三年,遷太尉,累增封邑。蜀將馬岱入寇,帝遣將軍牛金擊走之,斬千餘級。武都氐王苻雙、強端帥其屬六千餘人來降。關東饑,帝運長安粟五百萬斛於京師。
四年,獲白鹿,獻之。天子曰:“昔周公旦輔成王,有素雉之貢。今君受陝西之任,有白鹿之獻,豈非忠誠協符,千載同契,俾乂邦家,以永厥休邪!”及遼東太守公孫文懿反,征帝詣京師。天子曰:“此不足以勞君,事欲必克,故以相煩耳。君度其行何計?”對曰:“棄城預走,上計也。據遼水以距大軍,次計也。坐守襄平,此成擒耳。”天子曰:“其計將安出?”對曰:“惟明者能深度彼己,豫有所棄,此非其所及也。今懸軍遠征,將謂不能持久,必先距遼水而後守,此中下計也。”天子曰:“往還幾時?”對曰:“往百日,還百日,攻百日,以六十日為休息,一年足矣。”是時大修宮室,加之以軍旅,百姓饑弊。帝將即戎,乃諫曰:“昔周公營洛邑,蕭何造未央,今宮室未備,臣之責也。然自河以北,百姓困窮,外內有役,勢不並興,宜假絕內務,以救時急。”
景初二年,帥牛金、胡遵等步騎四萬發自京都。車駕送出西明門。詔弟孚、子師送過溫,賜以穀帛牛酒,敕郡守典農以下皆往會焉。見父老故舊,宴飲累日。帝歎息,悵然有感,為歌曰:“天地開辟,日月重光。遭遇際會,畢力遐方。將掃群穢,還過故鄉。肅清萬裏,總齊八荒。告成歸老,待罪舞陽。”遂進師,經孤竹,越碣石,次於遼水。文懿果遣步騎數萬,阻遼隧,堅壁而守,南北六七十裏,以距帝。帝盛兵多張旗幟,出其南,賊盡銳赴之。乃泛舟潛濟以出其北,與賊營相逼,沈舟焚梁,傍遼水作長圍,棄賊而向襄平。諸將言曰:“不攻賊而作圍,非所以示眾也。”帝曰:“賊堅營高壘,欲以老吾兵也。攻之,正入其計,此王邑所以恥過昆陽也。古人曰,敵雖高壘,不得不與我戰者,攻其所必救也。賊大眾在此,則巢窟虛矣。我直指襄平,則人懷內懼,懼而求戰,破之必矣。”遂整陣而過。賊見兵出其後,果邀之。帝謂諸將曰:“所以不攻其營,正欲致此,不可失也。”乃縱兵逆擊,大破之,三戰皆捷。賊保襄平,進軍圍之。初,文懿聞魏師之出也,請救於孫權。權亦出兵遙為之聲援,遺文懿書曰:“司馬公善用兵,變化若神,所向無前,深為弟憂之。”會霖潦,大水,平地數尺,三軍恐,欲移營。帝令軍中敢有言徙者斬。都督令史張靜犯令,斬之,軍中乃定。賊恃水,樵牧自若。諸將欲取之,皆不聽。司馬陳圭曰:“昔攻上庸,八部並進,晝夜不息,故能一旬之半,拔堅城,斬孟達。今者遠來而更安緩,愚竊惑焉。”帝曰:“孟達眾少而食支一年,吾將士四倍於達而糧不淹月,以一月圖一年,安可不速?以四擊一,正令半解,猶當為之。是以不計死傷,與糧競也。今賊眾我寡,賊饑我飽,水雨乃爾,功力不設,雖當促之,亦何所為。自發京師,不憂賊攻,但恐賊走。今賊糧垂盡,而圍落未合,掠其牛馬,抄其樵采,此故驅之走也。夫兵者詭道,善因事變。賊憑眾恃雨,故雖饑困,未肯束手,當示無能以安之。取小利以驚之,非計也。”朝廷聞師遇雨,鹹請召還。天子曰:“司馬公臨危製變,計日擒之矣。”既而雨止,遂合圍。起土山地道,楯櫓鉤橦,發矢石雨下,晝夜攻之。時有長星,色白,有芒鬣,自襄平城西南流於東北,墜於梁水,城中震懾。文懿大懼,乃使其所署相國王建、禦史大夫柳甫乞降,請解圍而縛。不許,執建等,皆斬之。檄告文懿曰:“昔楚鄭列國,而鄭伯猶肉袒牽羊而迎之。孤為王人,位則上公,而建等欲孤解圍退舍,豈楚鄭之謂邪!二人老耄,必傳言失旨,已相為斬之。若意有未已,可更遣年少有明決者來。”文懿複遣侍中衛演乞克日送任。帝謂演曰:“軍事大耍有五,能戰當戰,不能戰當守,不能守當走,餘二事惟有降與死耳。汝不肯麵縛,此為決就死也,不須送任。”文懿攻南圍突出,帝縱兵擊敗之,斬於梁水之上星墜之所。既入城,立兩標以別新舊焉。男子年十五已上七千餘人皆殺之,以為京觀。偽公卿已下皆伏誅,戮其將軍畢盛等二千餘人。收戶四萬,口三十餘萬。初,文懿篡其叔父恭位而囚之。及將反,將軍綸直、賈範等苦諫,文懿皆殺之。帝乃釋恭之囚,封直等之墓,顯其遺嗣。令曰:“古之伐國,誅其鯨鯢而已,諸為文懿所詿誤者,皆原之。中國人欲還舊鄉,恣聽之。”時有兵士寒凍,乞襦,帝弗之與。或曰:“幸多故襦,可以賜之。”帝曰:“襦者官物,人臣無私施也。”乃奏軍人年六十已上者罷遣千餘人,將吏從軍死亡者致喪還家。遂班師。天子遣使者勞軍於薊,增封食昆陽,並前二縣。初,帝至襄平,夢天子枕其膝,曰:“視吾麵。”俯視有異於常,心惡之。先是,詔帝便道鎮關中;及次白屋,有詔召帝,三日之間,詔書五至。手詔曰:“間側息望到,到便直排閣入,視吾麵。”帝大遽,乃乘追鋒車晝夜兼行,自白屋四百餘裏,一宿而至。引入嘉福殿臥內,升禦床。帝流涕問疾,天子執帝手,目齊王曰:“以後事相托。死乃複可忍,吾忍死待君,得相見,無所複恨矣。”與大將軍曹爽並受遺詔輔少主。及齊王即帝位,遷侍中、持節、都督中外諸軍、錄尚書事,與爽各統兵三千人,共執朝政,更直殿中,乘輿入殿。爽欲使尚書奏事先由己,乃言於天子,徙帝為大司馬。朝議以為前後大司馬累薨於位,乃以帝為太傅。入殿不趨,讚拜不名,劍履上殿,如漢蕭何故事。嫁娶喪葬取給於官,以世子師為散騎常侍,子弟三人為列侯,四人為騎都尉。帝固讓子弟官不受。
魏正始元年春正月,東倭重譯納貢,焉耆、危須諸國,弱水以南,鮮卑名王,皆遣使來獻。天子歸美宰輔,又增帝封邑。初,魏明帝好修宮室,製度靡麗,百姓苦之。帝自遼東還,役者猶萬餘人,雕玩之物動以千計。至是皆奏罷之,節用務農,天下欣賴焉。
二年夏五月,吳將全琮寇芍陂,硃然、孫倫圍樊城,諸葛瑾、步騭掠柤中,帝請自討之。議者鹹言,賊遠來圍樊,不可卒拔。挫於堅城之下,有自破之勢,宜長策以禦之。帝曰:“邊城受敵而安坐廟堂,疆場騷動,眾心疑惑,是社稷之大憂也。”六月,乃督諸軍南征,車駕送出津陽門。帝以南方暑濕,不宜持久,使輕騎挑之,然不敢動。於是休戰士,簡精銳,募先登,申號令,示必攻之勢。吳軍夜遁走,追至三州口,斬獲萬餘人,收其舟船軍資而還。天子遣侍中常侍勞軍於宛。秋七月,增封食郾、臨潁,並前四縣,邑萬戶,子弟十一人皆為列侯。帝勳德日盛,而謙恭愈甚。以太常常林鄉邑舊齒,見之每拜。恆戒子弟曰:“盛滿者道家之所忌,四時猶有推移,吾何德以堪之。損之又損之,庶可以免乎?”
三年春,天子追封,諡皇考京兆尹為舞陽成侯。三月,奏穿廣漕渠,引河入汴,溉東南諸陂,始大佃於淮北。先是,吳遣將諸葛恪屯皖,邊鄙苦之,帝欲自擊恪。議者多以賊據堅城,積穀,欲引致官兵,今懸軍遠攻,其救必至,進退不易,未見其便。帝曰:“賊之所長者水也,今攻其城,以觀其變。若用其所長,棄城奔走,此為廟勝也。若敢固守,湖水冬淺,船不得行,勢必棄水相救,由其所短,亦吾利也。”