司馬懿 字仲達,公元179年-251年,72歲,(河內溫縣孝敬裏(河南溫縣招賢鎮),三國時期魏國傑出的政治家、軍事家,權臣。多次率軍對抗諸葛亮,以其功著,封宣王。其孫司馬炎稱帝後,追尊為晉宣帝。
司馬懿其先出自帝高陽之子重黎,為夏官祝融,歷唐、虞、夏、商,世序其職。周朝,以夏官為司馬。其後程柏休父,周宣王時,以世官克平徐方,錫以官族,因而為氏。楚漢間,司馬仰為趙將,與諸侯伐秦。秦亡,立為殷王,都河內。漢以其地為郡,子孫遂以為家。自仰八世,至東漢安帝時,生征西將司軍鈞,字叔平。司軍鈞生豫章太守司軍量,字公度。司軍生潁川太守司軍俊,字元異。司軍俊生京兆尹司軍防,字建公。司馬防就是司馬懿的父親(上述內容均取自《晉書·宣帝紀》)。晉武帝司馬炎在他的壹個詔書稱:“本諸生家,傳禮來久”(《晉書·禮誌》)。
司馬懿為司馬防次子,史書稱他“少有奇節,聰明多大略,博學洽聞,伏膺儒教”(《晉書·宣帝紀》)。東漢末年,天下大亂,司馬懿生在亂世中,“常慨然有憂天下心”(《晉書·宣帝紀》)。
南陽太守楊俊素以知人善任著稱,司馬懿二十歲前,楊俊曾見過他,說他絕非尋常之之;尚書崔琰與司馬懿的兄長司馬朗交好,曾對司馬朗說:“君弟聰亮明允,剛斷英特,非子所及也”(《晉書·宣帝紀》)。
建安六年(201年),郡中推舉他為上計椽。時曹操正任司空,聽到他的名聲後,派人召他到府中任職。司馬懿見漢朝國運已微,不想在曹操手下,便借口自己有風痹病,身體不能起居。曹操不信,派人夜間去刺探消息,司馬懿躺在那裏,壹動不動,像真染上風痹壹般。
建安十三年(208),曹操為丞相以後,始用強制手段辟司馬懿為文學掾。曹操對使者說,“若復盤桓,便收之”(《晉書·宣帝紀》)。司馬懿懼之,只得就職。曹操讓他與太子往來遊處,歷任黃門侍郎、議郎、丞相東曹屬、丞相主薄等職。司馬懿在曹操手下任職,小心謹慎,勤勤懇懇,“至於芻牧之間,悉皆臨履”。
建安二十年(215年),曹操征討張魯,司馬懿隨軍。他對曹操說:“劉備以詐力虜劉璋,蜀人未附而遠爭江陵,此機不可失也。今若曜威漢中,益州震動,進兵臨之,勢必瓦解。因此之勢,易為功力。聖人不能違時,亦不失時矣。”曹操說:“人苦無足,既得隴右,復欲得蜀”(《晉書·宣帝紀》)!沒有采納他的建議。
建安二十四年(219),當孫權向曹操上表稱臣、慫恿曹操自立為帝。曹操說:“此兒欲踞吾著爐炭上邪!”司馬懿說:“漢運垂終,殿下十分天下而有其九,以服事之。權之稱臣,天人之意也。虞、夏、殷、周不以謙讓者,畏天知命也”(《晉書·宣帝紀》)。當時曹操手下的門閥官僚擁漢者尚多,為曹操所深忌,而荀彧、崔琰等著名人物都因對曹氏代漢有異議而不得善終。大概司馬懿在這個關鍵問題上早就表示支持曹操,因此曹操才對他由猜忌逐漸轉為信任。
曹操進封魏王後,升任司馬懿為太子中庶子,佐助曹丕。時司馬懿“每與大謀,輒有奇策”(《晉書·宣帝紀》),為曹丕所信任和重用,所以關系壹直很好。司馬懿還與陳群、吳質、朱鑠並稱四友。
此後,司馬懿更是常謀國事,多出奇策。不久,司馬懿轉為丞相軍司馬。他指出荊州刺史胡修粗暴,南鄉(治南鄉,今河南淅川東南)太守傅方驕奢,都不應駐守邊防,曹操未予重視。
同年六月,劉備繼取漢中後,派孟達、劉封攻占漢中郡東部的房陵、上庸等地,勢力有所擴展。七月,孫權欲攻合肥,魏軍大部調動淮南防備吳軍。鎮守荊州的蜀前將軍關羽,乘此機會,留南郡(治江陵,今湖北江陵)太守糜芳守江陵,將軍傅士仁守公安(今湖北公安西北),自率主力北攻荊襄(魏荊州治新野,今河南新野;襄陽郡治襄陽,今湖北襄樊)。圍魏將曹仁,水淹於樊七軍,斬龐德。時樊城守軍僅數千人,城墻因水淹多處崩塌,曹仁曾考慮放棄樊城,被輔助曹仁的汝南太守滿寵所勸止。曹仁決心奮勇抵禦。胡、傅二人果然乘機降蜀。此時,陸渾(今河南嵩縣東北)人孫狼等,亦殺官起兵,響應關羽。關羽聲勢壹時“威震華夏”(《三國誌·蜀書·關羽傳》)。
當時都城在許昌,距樊城很近,曹操感到威脅,為避關羽鋒芒,壹度準備遷都河北。司馬懿和曹椽蔣濟及時勸阻:“禁等為水所沒,非戰守之所失,於國家大計未有所損,而便遷都,既示敵以弱,又淮沔之人大不安矣。孫權、劉備,外親內疏,羽之得意,權所不願也。可喻權所,令掎其後,則樊圍自解”(《晉書·宣帝紀》)。曹操從其計,孫權果然派呂蒙襲取江陵,關羽被其俘殺。
此戰的勝利,曹操利用孫、劉爭奪荊州的矛盾,充分運用外交謀略,坐收漁利,不僅挫敗關羽的強大攻勢,解除了樊城之圍,而且也使諸葛亮原定的壹路向宛洛、壹路出秦川的兩面鉗擊中原的計劃無法實現。更重要的是破壞孫、劉聯盟,改變了當時的戰略格局,掌握了主動權。
徐晃擊退關羽後,曹操嫌惡荊州及附近百姓,想把他們都遷走。司馬懿認為:“荊楚輕脫,易動難安。關羽新破,諸為惡者藏竄觀望。今徙其善者,既傷其意,將令去者不敢復還”(《晉書·宣帝紀》)。曹操從之,沒有移民。藏竄逃亡者果然都復出歸化。
延康元年(220年),曹操去世,朝野危懼,司馬懿管理喪葬諸事,內外肅然。
同年,曹丕即魏王位,司馬懿受封河津亭侯,轉丞相長史。
時孫權率軍向西。朝臣認為樊城、襄陽缺乏糧,不能抵禦吳軍,請召守將曹仁回駐宛城。司馬懿則認為不該放棄二城:“孫權新破關羽,此其欲自結之時也,必不敢為患。襄陽水陸之沖,禦寇要害,不可棄也”。曹丕未依其言,命曹仁放火燒毀二城。後來孫權果然沒有入侵。曹丕悔之不及。
同年,曹丕登皇帝位,史稱魏文帝。由於司馬懿為曹丕“篡漢”出了大力,所以登基後,曹丕任命司馬懿為尚書,不久轉督軍、禦史中丞,封安國鄉侯。
黃初二年(221年),免去督軍官職,升任侍中、尚書右仆射。
黃初三年(222年),和黃初五年(224年),曹丕兩次伐吳,都以司馬懿鎮守許昌,並改封司馬懿為向鄉侯。黃初六年(225年)春二月,轉任撫軍大將軍、假節,領兵五千,加給事中、錄尚書事。司馬懿辭讓,曹丕說:“吾於庶事,以夜繼晝,無須臾寧息。此非以為榮,乃分憂耳”(《晉書·宣帝紀》)。
同年,曹丕又大興水軍攻吳,仍命司馬懿留守,“內鎮百姓,外供軍資”(《晉書·宣帝紀》)。臨行,下詔書給司馬懿說:“吾深以後事為念,故以委卿。曹參雖有戰功,而蕭何為重。使吾無西顧之憂,不亦可乎”(《晉書·宣帝紀》)!後曹丕由廣陵回師洛陽,又下詔對司馬懿說:“吾東,撫軍當總西事;吾西,撫軍當總東事”(《晉書·宣帝紀》)。於是司馬懿留鎮許昌。
黃初七年(226年)五月,曹丕去世。臨終時,令司馬懿與中軍大將軍曹真、鎮軍大將軍陳群、征東大將軍曹休為輔政大臣。曹丕對太子說:“有間此三公者,慎勿疑之”(《晉書·宣帝紀》)。明帝即位,改封司馬懿為舞陽侯。
孫權得知魏文帝去世後,於八月出兵攻魏。命吳左將軍諸葛瑾部兵分兩路進攻襄陽(今湖北襄樊),親自率軍進攻江夏郡(治安陸,今湖北雲夢西南)。孫權壹路為魏軍所敗,遂撤兵而走。而諸葛瑾則被司馬懿擊敗,並斬殺吳將張霸,斬首千余級。十二月,升任驃騎將軍。
太和元年(227年)六月,明帝命司馬懿駐紮宛城,加督荊、豫二州諸軍事。
當初蜀將孟達降魏時,魏朝待其甚厚,司馬懿認為他言行傾巧,不可信任。但皇帝不聽,任命孟達領新城太守,封侯,假節。魏文帝死後,孟達失寵,蜀丞相諸葛亮即暗中與之通信,圖謀叛魏。諸葛亮恐他言行反覆無常,想促他速叛,知魏興太守申儀和他有矛盾,便派郭模到申儀處詐降,有意泄露其事。孟達聞此泄露,準備馬上起兵。
申儀將此事密告司馬懿後,司馬懿怕他突然發難,給他去信,詳為慰解,信中說:“將軍昔棄劉備,讬身國家,國家委將軍以疆埸之任,任將軍以圖蜀之事,可謂心貫白日。蜀人愚智,莫不切齒於將軍。諸葛亮欲相破,惟苦無路耳。模之所言,非小事也,亮豈輕之而令宣露,此殆易知耳”(《晉書·宣帝紀》)。
孟達得信大喜,猶豫不決。司馬懿則暗中率軍進討,諸將見孟達與吳蜀交接,勸司馬懿先觀而後動。司馬懿說:“達無信義,此其相疑之時也,當及其未定促決之”(《晉書·宣帝紀》)。司馬懿親自率軍日夜兼程前去討伐孟達,八天後抵達新城城下。吳、蜀派出援兵解救孟達,被司馬懿部攔阻於西城的安橋、木蘭塞等地。此前,諸葛亮曾告誡孟達加緊防範,不要上當,孟達寫信給諸葛亮,認為:“宛去洛八百裏,去吾壹千二百裏,聞吾舉事,當表上天子,比相反覆,壹月間也,則吾城已固,諸軍足辦。則吾所在深險,司馬公必不自來;諸將來,吾無患矣”(《晉書·宣帝紀》)。等到兵臨城下,孟達又寫信給諸葛亮,驚嘆:“吾舉事,八日而兵至城下,何其神速也”(《晉書·宣帝紀》)!
上庸城三面環水,孟達在城外樹立木柵,加固城防。司馬懿揮師渡水,毀其木柵,直逼城下。太和二年(228年)正月,司馬懿兵分八路攻城,攻十六天,孟達的外甥鄧賢、部將李輔開城投降。魏軍入城,擒斬孟達,傳首京師,俘獲萬余人。司馬懿回軍,仍駐宛城,獎勸農桑,禁止浮費。南方吏民心悅誠服。
前初,申儀久在魏興郡,專威弄權,擅自借皇帝名義刻制印信,私相授予。孟達被殺之後,申儀自生疑慮。當時各郡郡守見司馬懿克敵制勝,紛紛奉禮祝賀。司馬懿聽之任之,並讓人向申儀暗示。申儀只好前來祝賀。司馬儀乘機將他收捕,送往京師。
司馬懿又將孟達余眾七千余家遷往幽州。不久蜀將姚靜、鄭他等率其部屬七千余人來降。
當時邊郡新附,戶口不實。朝廷想加以核實,請司馬懿進京,征詢他的意見。司馬懿認為:“賊以密網束下,故下棄之。宜弘以大綱,則自然安樂”(《晉書·宣帝紀》)。明帝又部他吳蜀都該討伐,應該先從何處著手?司馬懿回答說:“吳以中國不習水戰,故敢散居東關。凡攻敵,必扼其喉而摏其心。夏口、東關,賊之心喉。若為陸軍以向皖城,引權東下,為水戰軍向夏口,乘其虛而擊之,此神兵從天而墜,破之必矣”(《晉書·宣帝紀》)。明帝同意他的看法,命他仍舊駐紮宛城。
太和二年(228年)五月,吳鄱陽太守周魴派人送親筆信給曹休,謊稱受到吳王責難,打算棄吳降魏,請求派兵接應。曹休未辨真偽,即率步、騎兵10萬人,去皖城(今安徽潛山)接應。明帝也(治晉陽,今太原西南)命司馬懿率軍向江陵(今湖北江陵),與曹休相策應。八月,曹休為吳軍大敗,殘部幸得賈逵接應,方得生還。
太和三年(227年),蜀丞相諸葛亮第三次出兵攻魏,並占據武都、陰平二郡。太和四年(230年),魏明帝決定興師伐蜀。升司馬懿任大將軍、加大都督、假黃鉞,與大司馬曹真壹起伐蜀。
八月,魏明帝命曹真率主力由長安入子午谷,左將軍張郃出斜谷,司馬懿自荊州溯漢水出西城(今陜西安康西北),將兵分三路會攻漢中。司馬懿從西城開拓道路,水陸並進,沿著沔水逆流而上,直達朐腮,攻克新豐縣,駐軍丹口,後遇雨班師。
太和五年(231年),二月,蜀漢丞相諸葛亮率軍第四出進攻魏,包圍祁山(今甘肅東南部山地)賈嗣、魏平部,並以木牛流馬運輸糧草。明帝對司馬懿說:“西方有事,非君莫可付者”(《晉書·宣帝紀》),派他西駐長安,都督左將軍張郃、雍州刺史郭淮等防禦蜀軍。司馬懿留部將費曜、戴陵率4000人守邽(今甘肅天水),自率主力西救祁山。張郃勸司馬懿分兵駐紮雍、郿兩地,以作大軍後鎮。司馬懿不同意,他說:“料前軍獨能當之者,將軍言是也。若不能當,而分為前後,此楚之三軍所以為黥布禽也。”於是挺進喻麋。
諸葛亮聞魏大軍將至,亦分兵壹部繼攻祁山,自率主力迎擊司馬懿。郭淮及費曜等部襲擊蜀軍,被諸葛亮擊破。便親率蜀軍乘勢搶先收割熟麥,獲得軍糧。
至此,史書上對今後的作戰卻有了兩種截然不同的記載。
《晉書·宣帝紀》記載如下:……亮聞大軍且至,乃自帥眾將芟上邽之麥。諸將皆懼,帝曰:“吾倍道疲勞,此曉兵者之所貪也。亮不敢據渭水,此易與耳。”進次漢陽,與亮相遇,帝列陣以待之。使將牛金輕騎餌之,兵才接而亮退,追至祁山。亮屯鹵城(今甘肅天水南),據南北二山,斷水為重圍。帝攻拔其圍,亮宵遁。追擊,破之,俘斬萬計。
《資治通鑒·卷第七十二》記載如下:……郭淮、費曜等僥亮,亮破之,因大芟刈其麥,與懿遇於上邽之東。懿斂軍依險,兵不得交,亮引還。懿等尋亮後至於鹵城。張郃曰:“彼遠來逆我,請戰不得,謂我利不在戰,欲以長計制之也。且祁山知大軍已在近,人情自固,可止屯於此,分為奇兵,示出其後,不宜進前而不敢逼,坐失民望也。今亮孤軍食少,亦行去矣。”懿不從,故尋亮。既至,又登山掘營,不肯戰。賈詡、魏平數請戰,因曰:“公畏蜀如虎,奈天下笑何!”懿病之。諸將鹹請戰。夏,五月,辛已,懿乃使張郃攻無當監何平於南圍,自案中道向亮。亮使魏延、高翔、吳班逆戰,魏兵大敗,漢人獲甲著三千,懿還保營。六月,亮以糧盡退軍,司馬懿遣張郃追之。郃進至木門(今甘肅天水西南),與亮戰,蜀人乘高布伏,弓弩亂發,飛矢中郃右膝而卒。
可以看出,前者說司馬懿大勝,後者則說司馬懿大敗。而《三國誌》中諸葛亮、張郃、郭淮等人的傳記中,對此都壹帶而過。而且前者對司馬懿讓張郃去追擊蜀之避而不談。相對而言,還是後者可信度高些。現在的軍事工具書也都以後者記載為準。
蜀軍退軍後,軍師杜襲、督軍薛悌都估計諸葛亮明年麥熟時還會入侵,建議趁冬天調運糧草,解決隴右糧少問題。司馬懿認為:“亮再出祁山,壹攻陳倉,挫衄而反。縱其後出,不復攻城,當求野戰,必在隴東,不在西也。亮每以糧少為恨,歸必積谷,以吾料之,非三稔不能動矣”(《晉書·宣帝紀》)。
青龍二年(234年)二月,蜀丞相諸葛亮率軍10萬出斜谷攻魏,四月,諸葛亮至郿縣(今陜西眉縣北),進駐渭水之南。魏大將軍司馬懿率軍渡渭水,背水築壘阻擊。諸將想在渭北與諸葛亮隔水相持,司馬懿說:“百姓積聚皆在渭南,此必爭之地也”(《晉書·宣帝紀》)。遂渡渭背水紮營。司馬懿分析形勢後,對諸將說:“亮若勇者,當出武功依山而東,若西上五丈原(今陜西眉縣西南),則諸軍無事矣”(《晉書·宣帝紀》)。
諸葛亮果然上五丈原。魏諸將皆喜,唯獨雍州刺史郭淮深以為憂,他說:“亮必爭北原,宜先據之”(《資治通鑒·卷第七十二》),諸將多不以為然。郭淮說:“若亮跨渭登原,連兵北山,隔絕隴道,搖蕩民、夷,此非國之利也”(《三國誌·魏書·郭淮傳》)。司馬懿這才意識到北原的重要性,命郭淮等率兵移屯北原。塹壘尚未成,蜀軍果至,攻而未克,兩軍遂成對峙狀態。
五月,吳軍10萬三路攻魏,以配合蜀軍作戰。魏明帝派秦郎率2萬人援司馬懿,自率主力反攻吳軍。七月,吳軍撤走。
諸葛亮東進的道路受阻於司馬懿,從渭水前進,又有郭淮阻擋,乃移軍攻取散關,隴城等地,然後回師進攻司馬懿。
八月,司馬懿遵照明帝“堅壁拒守,以逸待勞”的指示,與諸葛亮相持百余日。諸葛亮數次挑戰,司馬懿均堅壁不出,欲待蜀軍糧盡,相機反攻。諸葛亮便派人給司馬懿送來“巾幗婦人之飾”(《晉書·宣帝紀》)羞辱之,欲激司馬懿出戰,司馬懿仍不出戰。為平息部屬不滿情緒,故意裝怒,上表請戰。明帝不許,並派骨鯁之臣辛毗杖節來做司馬懿的軍師,以節制他的行動。後諸葛亮壹來挑戰,司馬懿就要帶兵出擊,辛毗杖節立於軍門,司馬懿便不出兵。
辛毗到時,蜀將姜維就對諸葛亮說:“辛毗杖節而至,賊不復出矣。”諸葛亮則說:“彼本無戰心,所以固請者,以示武於其眾耳。將在軍,君命有所不受,茍能制吾,豈千裏而請戰邪”(《晉書·宣帝紀》)!諸葛亮遂分兵屯田,做長久屯駐之準備。
司馬懿的弟弟司馬孚來信問前線軍情,司馬懿回信說:“亮誌大而不見機,多謀而少決,好兵而無權,雖提卒十萬,已墮吾畫中,破之必矣”(《晉書·宣帝紀》)。
不久,諸葛亮遣使求戰,司馬懿不談軍事,問使者:“諸葛公起居何如,食可幾米?”使者說:“三四升。”然後對問政事,使者說:“二十罰已上皆自省覽。”經過壹番不經意的詢問,司馬懿對人說:“諸葛孔明其能久乎”(《晉書·宣帝紀》)!果然,諸葛亮於當月病故於五丈原軍中。
蜀將秘不發喪,整軍後退。當地百姓見蜀軍撤走,向司馬懿報告,司馬懿出兵追擊。蜀將楊儀返旗鳴鼓,做出回擊的樣子,司馬懿以為中計,急忙收軍退回。第二天,司馬懿到諸葛亮營壘巡視,“觀其遺事,獲其圖書、糧谷甚眾”(《晉書·宣帝紀》)。司馬懿據此斷定諸葛亮已死,並贊諸葛亮“天下奇才也”(《晉書·宣帝紀》)。
辛毗認為諸葛亮死否尚不可知,司馬懿說:“軍家所重,軍書密計、兵馬糧谷,今皆棄之,豈有人捐其五藏而可以生乎?宜急追之”(《晉書·宣帝紀》)。於是,率兵急追。關中地多蒺藜,司馬懿派三千士兵腳穿軟材料做成的平底木屐,在大軍前行走,蒺藜都刺在木屐上,然後大軍馬步並進。壹直追到赤岸,這才得到諸葛亮的確切死訊。當時人有諺語說:“死諸葛走生仲達”,司馬懿笑著說:“吾便料生,不便料死故也”(《晉書·宣帝紀》)。
歷時七年的諸葛亮攻魏之戰至此結束。諸葛亮不顧戰略上的失策,以壹州之地強攻中原之魏,縱使竭忠盡智,終因實力懸殊而難以實現其戰略目的。而魏國則在司馬懿等人的人正確指揮下,以優勢兵力采取防禦戰略,最終不戰不退蜀軍,取得了最後的勝利。
蜀將楊儀、魏延在撤軍後爭權,楊儀殺死魏延。司馬懿想乘機攻蜀,明帝沒批準,作罷。
青龍三年(235年),司馬懿升任太尉。
東漢末年軍閥混戰時,公孫度據有遼東。這個割據勢力對曹魏政權虛與委蛇,時叛時降,保持著半獨立的地位。公孫淵繼為遼東太守後,對魏更加不遜。景初元年(237年),原魏遼東太守公孫淵背叛魏國,自立為燕王,置列百官,定都襄平(今遼寧遼陽)。
景初二年(238年)正月,魏明帝召司馬懿回京,命他率兵討伐。明帝說:“此不足以勞君,事欲必克,故以相煩耳。君度其行何計?”司馬懿說:“棄城預走,上計也。據遼水以距大軍,次計也。坐守襄平,此成擒耳。”明帝又問:“其計將安出?”司馬懿回答:“惟明者能深度彼己,豫有所棄,此非其所及也。今懸軍遠征,將謂不能持久,必先距遼水而後守,此中下計也。”明帝問:“往還幾時?”司馬懿說:“往百日,還百日,攻百日,以六十日為休息,壹年足矣”(《晉書·宣帝紀》)。
當時朝廷大修宮室,加上軍用物資,以至百姓饑弊。司馬懿出征前,勸阻明帝說:“昔周公營洛邑,蕭何造未央,今宮室未備,臣之責也。然自河以北,百姓困窮,外內有役,勢不並興,宜假絕內務,以救時急”(《晉書·宣帝紀》)。
正月,司馬懿率牛金、胡遵等步騎四萬,從京師出發,經孤竹,越碣石,六月,進至遼水。公孫淵果然急令大將軍卑衍、楊祚等人率步騎數萬,依遼水圍塹20余裏,堅壁高壘,阻擊魏軍。
司馬懿采用聲東擊西之計,先在南線多張旗幟,佯攻圍塹,吸引敵軍主力,而以主力隱蔽渡過遼水,逼進敵營。接著,不攻敵營,卻揮師直取公孫淵根據地襄平(遼東郡治所,今遼寧遼陽)。部將不解其意,說:“不攻賊而作圍,非所以示眾也。”司馬懿解釋說:“賊堅營高壘,欲以老吾兵也。攻之,正入其計,此王邑所以恥過昆陽也。古人曰,敵雖高壘,不得不與我戰者,攻其所必救也。賊大眾在此,則巢窟虛矣。我直指襄平,則人懷內懼,懼而求戰,破之必矣”(《晉書·宣帝紀》)。遂迫使敵軍放棄圍塹回軍救援襄平。司馬懿督軍回首山(今遼寧遼陽西南),迎戰敵援軍,並對諸將說:“所以不攻其營,正欲致此,不可失也”(《晉書·宣帝紀》)。魏軍迎擊,三戰皆捷,遂乘勝進圍襄平。
當初公孫淵聞魏軍來攻,求救於孫權,孫權也出兵為其聲援,並給公孫淵寫信:“司馬公善用兵,變化若神,所向無前,深為弟憂之”(《晉書·宣帝紀》)。
適逢連降大雨,遼水暴漲,平地數尺,魏軍恐懼,諸將思欲遷營。司馬懿下令有敢言遷營者斬,都督令史張靜違令被斬,軍心始安。公孫淵軍乘雨出城,打柴牧馬,安然自若。魏將領請求出擊,司馬懿不予采納。司馬陳圭曰問司馬懿:“昔攻上庸,八部並進,晝夜不息,故能壹旬之半,拔堅城,斬孟達。今者遠來而更安緩,愚竊惑焉。”司馬懿說:“帝曰:“孟達眾少而食支壹年,吾將士四倍於達而糧不淹月,以壹月圖壹年,安可不速?以四擊壹,正令半解,猶當為之。是以不計死傷,與糧競也。今賊眾我寡,賊饑我飽,水雨乃爾,功力不設,雖當促之,亦何所為。自發京師,不憂賊攻,但恐賊走。今賊糧垂盡,而圍落未合,掠其牛馬,抄其樵采,此故驅之走也。夫兵者詭道,善因事變。賊憑眾恃雨,故雖饑困,未肯束手,當示無能以安之。取小利以驚之,非計也”(《晉書·宣帝紀》)。
接著,司馬懿還將計就計,故意示弱。朝廷聽說雨大敵強,不少人請求召還司馬懿。明帝卻說:“司馬公臨危制變,計日擒之矣”(《晉書·宣帝紀》)。
月余,雨停,水漸退去。魏軍完成對襄平的包圍,起土山、挖地道、造樓車、鉤梯等攻城器具,晝夜強攻。城內糧盡,死者甚多,其將楊祚等降。時偶有流星自城西南向東北劃過,墜落在梁水附近,城中愈發震恐。公孫淵也很驚懼,八月,派他相國王建、禦史大夫柳甫請求解圍,然後面縛(兩手反綁於背而面朝前)歸降。司馬懿斬殺使者,發布檄文嚴責:“昔楚鄭列國,而鄭伯猶肉袒牽羊而迎之。孤為王人,位則上公,而建等欲孤解圍退舍,豈楚鄭之謂邪!二人老耄,必傳言失旨,已相為斬之。若意有未已,可更遣年少有明決者來”(《晉書·宣帝紀》)。公孫淵又派侍中衛演來請求定日期送人質。司馬懿對衛演說:“軍事大耍有五,能戰當戰,不能戰當守,不能守當走,余二事惟有降與死耳。汝不肯面縛,此為決就死也,不須送任”(《晉書·宣帝紀》)。
公孫淵欲從城南突圍,司馬懿縱兵擊破其軍,公孫淵戰死在梁水(今太子河)邊上星落之地。入城後,司馬懿屠戮十五歲以上男子七千多人,收集屍體,築造京觀。京觀是古代戰爭中勝者為了炫耀武功,收集敵人屍體,封土而成的高冢。把公孫淵所任公卿以下壹律斬首,殺死將軍畢盛等二千多人。收戶四萬,口三十余萬。
當時司馬懿軍中有的士兵衣單寒冷,向他乞要襦衣,司馬懿不給。有人說:“幸多故襦,可以賜之。”司馬懿說:“襦者官物,人臣無私施也”(《晉書·宣帝紀》)。於是上奏朝廷,把壹千多名六十歲以上的士兵解除兵役,遣送回鄉。然後,在原定壹年的期限內,勝利班師。
明帝派使者到薊去犒勞部隊,增司馬懿食昆陽縣,前後***二縣。
本來朝廷讓他便道往鎮關中。但當到達白屋時,有詔書召他火速回京,三日之間,詔書五至。明帝手書說:“間側息望到,到便直排閣入,視吾面”