如今將那裡的人遷徙,既傷當地人的心意,也令想要回來的人不敢複還。”曹操聽了他的建議,沒有移民。之前藏竄逃亡者果然都復出歸化。
延康元年(220年),曹操去世,朝野危懼,司馬懿管理喪葬諸事,內外肅然,並奉曹操梓宮回到鄴城。同年,曹丕即魏王位,司馬懿受封河津亭侯,轉丞相長史。當時孫權正率軍向西。朝臣們認為樊城、襄陽缺乏糧,不能抵禦吳軍,請召守將曹仁回駐宛城(今河南南陽宛城區)。司馬懿則表示:“孫權剛剛打敗關羽,正是他想和魏國結好的時候,一定不敢為患。襄陽是水陸交通要地,不能放棄。”曹丕沒聽其建議,命曹仁放火燒毀二城。後來孫權果然沒來入侵。曹丕悔之不及。
輔政平亂
魏文帝黃初元年(220年)十一月,曹丕登皇帝位,史稱魏文帝。曹丕登基後,任命司馬懿為尚書,不久轉督軍、禦史中丞,封安國鄉侯。黃初二年(221年),免去督軍官職,升任侍中、尚書右仆射。
黃初五年(224年),曹丕伐吳,臨江觀兵。司馬懿奉命鎮守許昌,並改封司馬懿為向鄉侯,轉撫軍、假節,領兵五千,加給事中、錄尚書事。司馬懿力辭不受,曹丕說:“朕夜以繼日處理國家大事,沒有須臾片刻的休息時間。如今冊封你不是加以優榮,而是要你為我分憂。”
黃初六年(225年),曹丕再次大興舟師伐吳,命司馬懿留守許都,對內鎮撫百姓,對外為大軍提供軍資。臨行,曹丕下詔給司馬懿說:“我深深地擔心後勤和朝內之事,所以將這些大事委托給你。歷史上曹參雖多有戰功,但是蕭何在後方的支持才更為重要。如今你留守後方,使我無西顧之憂,這可行嗎!”之後曹丕由廣陵(今江蘇揚州廣陵區)回師京都,又下詔對司馬懿說:“我向東用兵孫權,你該總理京都洛陽的事情;我在洛陽,你則應當總理東征孫權的戰事。”於是又命司馬懿留鎮許昌。
黃初七年(226年)五月,曹丕病重。臨終時,令司馬懿與中軍大將軍曹真、鎮軍大將軍陳群、征東大將軍曹休為輔政大臣。曹丕對太子曹叡說:“在這裡的三位重臣,一定不要懷疑他們。”曹叡即位,改封司馬懿為舞陽侯。孫權得知魏文帝去世後,於八月出兵攻魏。命諸葛瑾、張霸兵分兩路進攻襄陽,親自率軍進攻江夏郡(治石陽縣,即今武漢黃陂西南)。司馬懿擊退了孫權,又擊敗諸葛瑾,並斬殺張霸,斬首千余級。十二月,司馬懿升任驃騎將軍。
擒斬孟達
太和元年(227年)六月,魏明帝曹叡命司馬懿駐扎宛城,加督荊、豫二州諸軍事。蜀將孟達降魏時,魏待其甚厚,司馬懿認為他言行傾巧,不可信任。但曹叡不聽,任命孟達領新城(今湖北房縣)太守。曹丕死後,孟達失寵,蜀丞相諸葛亮即暗中與之通信,圖謀叛魏。諸葛亮恐他言行反覆無常,想促他速叛,知魏興太守申儀和他有矛盾,便派郭模到申儀處詐降,有意泄露其事。孟達聞此泄露,準備馬上起兵。申儀將此事密告司馬懿後,司馬懿怕他突然發難,給他去信,詳為慰解。孟達得信大喜,但是猶豫不決。司馬懿則暗中率軍進討,諸將見孟達與吳蜀交接,勸司馬懿先觀而後動。司馬懿說:“孟達沒有信義,現在正是他猶豫不決之時,應當趁他沒有決定而及時平定他。”司馬懿親自率軍日夜兼程前去討伐孟達,八天抵達新城城下。吳、蜀派出援兵解救孟達,被司馬懿部攔阻於西城的安橋、木蘭塞等地。
司馬懿討孟達之戰
此前,諸葛亮曾告誡孟達加緊防范,孟達寫信給諸葛亮認為:“宛城和洛陽相距八百裡,離我處一千二百裡,上表給天子,來回路程,少需一個月,那時我的城池已修固,諸軍都作好了準備。我駐扎的地形深險,司馬懿必不會親自來,其他部將來,則不足為患”。而司馬懿先斬後奏,僅八日就兵臨城下,孟達又寫信給諸葛亮,驚歎:“我想要舉事,而司馬懿八日就兵臨城下,何其神速也!”上庸城(今湖北竹山縣西南)三面環水,孟達在城外樹立木柵,加固城防。司馬懿揮師渡水,毀其木柵,直逼城下。太和二年(228年)正月, 司馬懿兵分八路攻城,僅十六天,孟達的外甥鄧賢、部將李輔開城投降。魏軍入城,擒斬孟達,傳首京師,俘獲萬余人。司馬懿回軍,仍駐宛城,獎勸農桑,禁止浪費。南方吏民心悅誠服。
起初,申儀久在魏興郡,專威弄權,擅自借皇帝名義刻製印信,私相授予。孟達被殺之後,申儀自生疑慮。當時各郡郡守見司馬懿克敵製勝,紛紛奉禮祝賀。司馬懿聽之任之,並讓人向申儀暗示。申儀隻好前來祝賀。司馬懿乘機將他收捕,送往京師。司馬懿又將孟達余眾七千余家遷往幽州。不久蜀將姚靜、鄭他等率其部屬七千余人來降。當時邊郡新附,戶口不實。朝廷想加以核實,請司馬懿進京,征詢他的意見。司馬懿認為:“叛賊以嚴苛的法令約束部下,所以被部下遺棄。應該以寬和待他們,那就會自然安樂”。
曹叡又問他吳、蜀都該討伐,應該先從何處著手?司馬懿回答說:“吳國認為我們北兵不習慣水戰,所以才敢散居東關。只要攻打敵軍,一定要扼住敵軍的咽喉而撞擊他們的心臟,而夏口、東關就是吳軍的心喉。如果在陸上以軍攻打皖城,因孫權的兵馬東下,派水師攻向夏口,乘其虛而擊之,一定能大破吳軍。”曹叡對他的看法深以為然,再次命司馬懿屯兵宛城備戰。八月,大司馬曹休不依計劃,逕下皖城深入敵境接應詐降的吳將周魴,在石亭被陸遜伏擊,大敗,曹休病死。