因司马懿曾支持曹操称帝,所以逐渐赢得了曹操的信任。司马懿奇谋善策,解决粮食问题,圈住曹操,借孙权之手铲除关于。曹操封魏王后,以司马懿为太子中庶子以佐助曹丕。
建安二十年(215年),曹操征讨张鲁,司马懿随军。他对曹操说:“刘备用诡计俘虏刘璋,蜀中之人还未曾归附他就又兴兵争夺江陵,这正是破刘的大好时机。今若在汉中陈兵,益州(指蜀地)就会震动不安,再进兵威逼,蜀兵势必瓦解。趁这个机会,一定能大功告成。圣人不能违时,也不能失时。”但是曹操却说:“人苦于不知足,已经得到了陇右,还想得到蜀地,这是人心无足。”所以没有听从司马懿的计策。既而司马懿跟从曹操南征孙权,大破孙权。
大军回军之后,孙权遣使乞降,向曹操上表称臣,陈说天命,劝说曹操称帝。曹操说:“孙权小儿这是想要把我放在炉炭上啊!”司马懿对答说:“汉朝的国运将要终结,您十分天下而有其九,还臣服听命于汉。如今孙权称臣,是顺应天人之意。”
建安二十四年(219年),司马懿升任太子中庶子,佐助魏太子曹丕。当时司马懿每次参与谋划,都有奇策,所以为曹丕所信任和重用,与陈群、吴质、朱铄并称“四友”。司马懿转任军司马,建议屯田解决粮食问题,得到曹操的采纳。他指出荆州刺史胡修粗暴,南乡太守傅方骄奢,都不应驻守边防,曹操未予重视。同年八月,汉水流域因为天降暴雨而发生了“汉水溢流,害民人”的自然灾害。关羽趁机乘船进攻,擒于禁、斩庞德。胡、傅二人果然乘机降蜀。因汉献帝在许昌,距樊城很近,曹操感到威胁,为避关羽锋芒,一度准备迁都黄河以北。
司马懿和曹椽蒋济及时劝阻说:“于禁被大水所淹,不是战守上的失误,对于国家的大局并没有大损失,为此而迁都,即是向敌人示弱,又会使淮河、汉水一带人心不稳;刘备、孙权外亲内疏,如今关羽坐大,孙权必定不安,把这件事告知孙权,使他牵制关羽,则樊城之围自解。”曹操从其计,孙权果然派吕蒙袭取公安,关羽被其俘杀。
之后曹操认为荆州遗民及在颍川屯田的军民逼近南方的敌对势力,想把他们迁走。司马懿认为:“荆楚之民大多轻脱,轻易移动怕是难以安定。如今关羽刚刚被击破,藏窜逃亡者也在观望时局。如今将那里的人迁徙,既伤当地人的心意,也令想要回来的人不敢复还。”曹操听了他的建议,没有移民。之前藏窜逃亡者果然都复出归化。
延康元年(220年),曹操去世,朝野危惧,司马懿管理丧葬诸事,内外肃然,并奉曹操梓宫回到邺城。同年,曹丕即魏王位,司马懿受封河津亭侯,转丞相长史。当时孙权正率军向西。朝臣们认为樊城、襄阳缺乏粮,不能抵御吴军,请召守将曹仁回驻宛城(今河南南阳宛城区)。
司马懿则表示:“孙权刚刚打败关羽,正是他想和魏国结好的时候,一定不敢为患。襄阳是水陆交通要地,不能放弃。”曹丕没听其建议,命曹仁放火烧毁二城。后来孙权果然没来入侵。曹丕悔之不及。