辛毗到时,蜀将姜维就对诸葛亮说:“辛毗杖节而至,贼不复出矣。”诸葛亮则说:“彼本无战心,所以固请者,以示武于其众耳。将在军,君命有所不受,苟能制吾,岂千里而请战邪”(《晋书·宣帝纪》)!诸葛亮遂分兵屯田,做长久屯驻之准备。
司马懿的弟弟司马孚来信问前线军情,司马懿回信说:“亮志大而不见机,多谋而少决,好兵而无权,虽提卒十万,已堕吾画中,破之必矣”(《晋书·宣帝纪》)。
不久,诸葛亮遣使求战,司马懿不谈军事,问使者:“诸葛公起居何如,食可几米?”使者说:“三四升。”然后对问政事,使者说:“二十罚已上皆自省览。”经过一番不经意的询问,司马懿对人说:“诸葛孔明其能久乎”(《晋书·宣帝纪》)!果然,诸葛亮于当月病故于五丈原军中。
蜀将秘不发丧,整军后退。当地百姓见蜀军撤走,向司马懿报告,司马懿出兵追击。蜀将杨仪返旗鸣鼓,做出回击的样子,司马懿以为中计,急忙收军退回。第二天,司马懿到诸葛亮营垒巡视,“观其遗事,获其图书、粮谷甚众”(《晋书·宣帝纪》)。司马懿据此断定诸葛亮已死,并赞诸葛亮“天下奇才也”(《晋书·宣帝纪》)。
辛毗认为诸葛亮死否尚不可知,司马懿说:“军家所重,军书密计、兵马粮谷,今皆弃之,岂有人捐其五藏而可以生乎?宜急追之”(《晋书·宣帝纪》)。于是,率兵急追。关中地多蒺藜,司马懿派三千士兵脚穿软材料做成的平底木屐,在大军前行走,蒺藜都刺在木屐上,然后大军马步并进。一直追到赤岸,这才得到诸葛亮的确切死讯。当时人有谚语说:“死诸葛走生仲达”,司马懿笑着说:“吾便料生,不便料死故也”(《晋书·宣帝纪》)。
历时七年的诸葛亮攻魏之战至此结束。诸葛亮不顾战略上的失策,以一州之地强攻中原之魏,纵使竭忠尽智,终因实力悬殊而难以实现其战略目的。而魏国则在司马懿等人的人正确指挥下,以优势兵力采取防御战略,最终不战不退蜀军,取得了最后的胜利。
蜀将杨仪、魏延在撤军后争权,杨仪杀死魏延。司马懿想乘机攻蜀,明帝没批准,作罢。
青龙三年(235年),司马懿升任太尉。
东汉末年军阀混战时,公孙度据有辽东。这个割据势力对曹魏政权虚与委蛇,时叛时降,保持着半独立的地位。公孙渊继为辽东太守后,对魏更加不逊。景初元年(237年),原魏辽东太守公孙渊背叛魏国,自立为燕王,置列百官,定都襄平(今辽宁辽阳)。
景初二年(238年)正月,魏明帝召司马懿回京,命他率兵讨伐。明帝说:“此不足以劳君,事欲必克,故以相烦耳。君度其行何计?”司马懿说:“弃城预走,上计也。据辽水以距大军,次计也。坐守襄平,此成擒耳。”明帝又问:“其计将安出?”司马懿回答:“惟明者能深度彼己,豫有所弃,此非其所及也。今悬军远征,将谓不能持久,必先距辽水而后守,此中下计也。”明帝问:“往还几时?”司马懿说:“往百日,还百日,攻百日,以六十日为休息,一年足矣”(《晋书·宣帝纪》)。
当时朝廷大修宫室,加上军用物资,以至百姓饥弊。司马懿出征前,劝阻明帝说:“昔周公营洛邑,萧何造未央,今宫室未备,臣之责也。然自河以北,百姓困穷,外内有役,势不并兴,宜假绝内务,以救时急”(《晋书·宣帝纪》)。
正月,司马懿率牛金、胡遵等步骑四万,从京师出发,经孤竹,越碣石,六月,进至辽水。公孙渊果然急令大将军卑衍、杨祚等人率步骑数万,依辽水围堑20余里,坚壁高垒,阻击魏军。
司马懿采用声东击西之计,先在南线多张旗帜,佯攻围堑,吸引敌军主力,而以主力隐蔽渡过辽水,逼进敌营。接着,不攻敌营,却挥师直取公孙渊根据地襄平(辽东郡治所,今辽宁辽阳)。部将不解其意,说:“不攻贼而作围,非所以示众也。”司马懿解释说:“贼坚营高垒,欲以老吾兵也。攻之,正入其计,此王邑所以耻过昆阳也。古人曰,敌虽高垒,不得不与我战者,攻其所必救也。贼大众在此,则巢窟虚矣。我直指襄平,则人怀内惧,惧而求战,破之必矣”(《晋书·宣帝纪》)。遂迫使敌军放弃围堑回军救援襄平。司马懿督军回首山(今辽宁辽阳西南),迎战敌援军,并对诸将说:“所以不攻其营,正欲致此,不可失也”(《晋书·宣帝纪》)。魏军迎击,三战皆捷,遂乘胜进围襄平。
当初公孙渊闻魏军来攻,求救于孙权,孙权也出兵为其声援,并给公孙渊写信:“司马公善用兵,变化若神,所向无前,深为弟忧之”(《晋书·宣帝纪》)。
适逢连降大雨,辽水暴涨,平地数尺,魏军恐惧,诸将思欲迁营。司马懿下令有敢言迁营者斩,都督令史张静违令被斩,军心始安。公孙渊军乘雨出城,打柴牧马,安然自若。魏将领请求出击,司马懿不予采纳。司马陈圭曰问司马懿:“昔攻上庸,八部并进,昼夜不息,故能一旬之半,拔坚城,斩孟达。今者远来而