孔明采用减兵添灶的策略,将军队安全撤回到汉中。司马懿担心其中有埋伏,没敢追击,也率领军队回到长安。就这样,蜀兵没有折损一兵一卒。孔明对三军进行了丰厚的赏赐后,回到成都,进宫拜见后主刘禅,上奏说:“老臣出兵祁山,本打算攻取长安,忽然接到陛下的诏书召回,不知陛下有什么重要的事情?”后主一时无言以对,过了好一会儿才说:“朕许久没有见到丞相,心里非常想念,所以特地召你回来,没有其他事情。”孔明说:“这并非陛下的本意,一定是有奸臣进谗言,说老臣有不轨之心。”后主听了,默默不语。孔明接着说:“老臣深受先帝的厚恩,发誓以死相报。如今如果朝廷内部有奸邪之徒,老臣又怎能安心去讨伐逆贼呢?”后主说:“朕是因为误听了宦官的话,才一时下令召回丞相。如今朕才恍然大悟,后悔莫及啊!”
孔明于是召集那些宦官进行查问,才知道是苟安散布的流言,急忙派人去抓捕苟安,却发现他已经逃到魏国去了。孔明将那些胡乱上奏的宦官处死,其余的都驱逐出宫外。他又严厉责备蒋琬、费祎等人,说他们不能察觉奸邪之人,也没有及时规谏天子。二人连连称是,承认自己的过错。孔明拜别后主,再次回到汉中。一方面发出檄文,让李严筹备粮草,运送到军队前线;另一方面与众人再次商议出兵的事情。
杨仪说:“之前多次出兵,军队疲惫不堪,粮草也供应不上。如今不如将军队分成两班,以三个月为一个周期。比如二十万的兵力,先派十万出兵祁山,驻守三个月后,再让另外十万去替换,循环轮转。这样一来,兵力就不会匮乏,然后我们再稳步前进,就有希望谋取中原了。”孔明说:“你的话正合我意。我讨伐中原,不是一朝一夕就能完成的事情,正应该制定这样的长远计划。”于是下令,将军队分成两班,以一百天为一个期限,循环交替,违反期限的人将按照军法处置。
建兴九年春二月,孔明再次出兵讨伐魏国,此时是魏国的太和五年。魏主曹睿得知孔明又来攻打中原,急忙召见司马懿商议对策。司马懿说:“如今曹真已经去世,臣愿意竭尽全力,剿灭贼寇,来报答陛下的信任。”曹睿非常高兴,设宴款待司马懿。第二天,有人报告说蜀兵来势汹汹。曹睿立即命令司马懿出兵抵御,还亲自安排銮驾