其计。况且敌人大军集中在这里,他们的老巢必定空虚。我军直指襄平,一定能攻破。”于是打出许多旗帜,做出要向南进攻的样子,卑衍等人率领全部精锐部队向南追击。司马懿却暗中渡过辽河,向北挺进,直扑襄平;卑衍等人大为惊恐,连夜撤军。魏军各路部队进抵首山(今辽宁辽阳西南),公孙渊又命卑衍等迎战。司马懿发动攻击,大败敌军,于是进军包围襄平。
秋季,七月: 天降大雨,辽河暴涨,运粮船队从辽河口直抵襄平城下。大雨下了一个多月不停,平地水深数尺。魏国三军将士恐惧,想转移营地,司马懿下令军中:“有敢说移营者斩!”都督令史张静违犯命令,被斩首,军队才安定下来。敌人依仗大水,砍柴放牧照常进行。将领们想俘获他们,司马懿都不允许。司马陈圭说:“过去攻打上庸,八支部队同时进攻,日夜不停,所以能用十六天时间攻下坚城,斩杀孟达。这次我们远道而来,反而行动缓慢,我私下感到困惑。”司马懿说:“孟达兵少而粮食可支持一年,我军将士四倍于孟达而粮食不够一个月;用一个月对付一年,怎么能不速战速决!以四倍兵力攻击敌人,即使损失一半而能攻克,也应当去做,所以不计伤亡,是与粮食竞赛。如今敌众我寡,敌饥我饱,雨水又这样大,攻城器械无法施展,虽然应当尽快行动,又能做什么呢!自从京师出发,我就不担心敌人进攻,只担心敌人逃走。现在敌人粮食将尽,而我军包围圈尚未合拢,如果抢夺他们的牛马,拦截他们的砍柴人,那就是故意逼他们逃走。用兵之道在于诡诈,要善于随机应变。敌人仗着人多势众和雨天,所以虽然饥饿困乏,仍不肯投降,我们应当显出无能为力的样子来稳住他们。贪图小利去惊动他们,不是好计策。”朝廷听说大军遇雨,都想撤军。明帝说:“司马懿能临危控制局面,擒获公孙渊指日可待。”雨停后,司马懿才完成合围,堆起土山,挖掘地道,用盾牌、楼车、钩梯、冲车,昼夜攻城,箭石如雨。公孙渊窘迫危急,粮食吃尽,甚至发生人吃人的情况,死者极多,其将领杨祚等人投降。
八月: 公孙渊派相国王建、御史大夫柳甫请求解围退兵,君臣将反绑双手投降。司马懿下令斩杀二人,发布檄文通告公孙渊说:“楚国和郑国是地位相等的国家,郑伯还脱去上衣,牵着羊来迎接楚王。我是天子的上公,而王建等人想让我解围后退兵,这合乎礼制吗!这两个人老糊涂了,传话失当,已替你们杀掉。如果还有话要说,可再派年轻有决断的人来!”公孙渊又派侍中卫演请求约定日期送人质。司马懿对卫演说:“军事行动的大要只有五点:能战就战,不能战就守,不能守就走;剩下两点,就只有投降和死亡了。你们不肯反绑投降,这是决心要死,不必送人质了!”壬午(二十二日),襄平城破,公孙渊和儿子公孙修率领数百骑兵向东南突围逃走,魏军急起直追,在梁水岸边斩杀公孙渊父子。司马懿入城后,诛杀公孙渊手下公卿以下官员及兵民七千多人,堆积尸体封土成冢(京观)。辽东、带方、乐浪、玄菟四郡全部平定。公孙渊将要反叛时,将军纶直、贾范等苦苦劝谏,公孙渊把他们全都杀了。司马懿于是重新安葬纶直等人,优待他们的后代,释放了被囚禁的公孙渊的叔父公孙恭。中原人想返回故乡的,听任自便。于是班师回朝。
当初,公孙渊的哥哥公孙晃作为公孙恭的人质留在洛阳。在公孙渊未反叛时,公孙晃多次向朝廷报告公孙渊的异动,想让朝廷讨伐他;等到公孙渊谋反,明帝不忍心将他公开处斩,想在狱中处决他。廷尉高柔上书说:“我私下听说公孙晃先前多次自首,陈述公孙渊将要为祸的苗头,他虽然是凶逆的亲属,但推究其本心是可以宽恕的。孔子体谅司马牛的忧虑,祁奚指明叔向的无罪,这都是古代的美谈。我认为公孙晃确实有举报之言,应宽恕他的死罪;如果他确实没有说过,那就该公开处斩。如今既不赦免他的性命,又不公布他的罪状,把他关在监狱里,让他自杀,四方人士看到我国的做法,或许会产生怀疑。”明帝不听,最终还是派使者带着金屑强迫公孙晃及其妻子儿女喝下自杀,赐予棺木寿衣,在宅中入
