黄初七年(226年),曹丕驾崩,曹真与镇军大将军陈群、征东大将军曹休、抚军大将军司马懿四人受遗诏辅政。魏明帝曹叡早就考虑司马懿为外姓,有心提防。于是将东线总指挥、主防东吴的重任交给大司马曹休,将西线总指挥、主防蜀汉的重任交给大将军曹真。而司马懿身为骠骑将军坐镇中线,主要是为两侧提供配合。
可是世事难料。大司马曹休在石亭大败后病死,曹真成为军政第一的大司马,司马懿由原来的三把手荣升二把手大将军。尽管曹真有意给司马懿下马威,但此后事态却是朝着有利于司马懿的方向发展。
太和四年(230年),曹真不顾尚书陈群反对,力主伐蜀,并亲率主力由常规路线直扑汉中诸葛亮部,让司马懿沿汉水西进,给自己打配合。这有意是给司马懿下套。深入汉中路途遥远,容易粮草不济,曹真走的子午道路途平坦,而司马懿溯汉水上行,一路险滩颇多,更为艰难。
然而司马懿却老谋深算,以西进之路不好走为理由在路上磨蹭,让曹真一个人去吃苦头。司马懿尽量避开有蜀汉驻军的路线,还故意选最难走的路,甚至需要凿开山石寻找通道,每天只走十里左右,两个月过去了,距离目的地还有将近一半的路程。曹真果然为自己的愚蠢买了单,刚进入通往汉中的子午谷,就天气突变,下起连绵大雨,山洪把栈道冲垮,军队边修路边龟速前进,粮食泡烂了,后勤又跟不上。而汉中诸葛亮知道曹军到来,已经调拨了援军。曹真战机和军心全失,只好引军撤退。
曹真跟曹休一样,承受不住打击,卧病不起。曹军撤退后,诸葛亮趁势北伐,曹叡无奈,只好升司马懿为最高军职大司马。同时为制衡司马懿,曹叡升张郃为车骑将军,职务上仅次于司马懿,让司马懿有所掣肘。于是司马懿有心铲除张郃。对于来犯的蜀军,司马懿的策略是坚守不出。蜀军远道而来,日久天长,粮草不挤,只能自行退去,司马懿就让张郃领军追击。诸葛亮熟读兵法,让张郃追击蜀军,无异于将他送进埋伏圈。张郃不愿前往,但又不能违背命令,只好服从,果然被埋伏在木棉道的蜀军乱箭射死。
此时曹魏朝中司马懿已大权在握,无人左右。
