在建兴九年的卤城战役中,司马懿不仅保住了陇右的粮草,解救了祁山,也攻占卤城打退了蜀军,《晋书》记载的战果是“斩俘万人”。
首先是保住粮草的作战,当时诸葛亮指挥部分军队赶到上邽准备抢收百姓的粮食,众将皆惊,司马懿表示诸葛亮一定会先扎营再收麦,我军两天急行军就能赶到阻止,因此昼夜行军赶去阻止了蜀军收麦。郭淮传也记载了当时魏军依靠陇西百姓的麦子与蜀军相持,同明帝本纪记载相符。蜀军此次不仅没有象首次北伐那样俘获上千户百姓,也没有抢收到上邽的百姓粮食。
《晋书》记载的蜀军在卤城损失万人也是可信的,诸葛亮这次进攻也是集中了十万人,连防御吴国的李严所部两万也调到汉中,损失万人不是大败,魏国的将领判断他很快会再次北伐也是可能的。
战后陇右确实没有供应魏军大军主力的粮食,估计在蜀军粮食耗尽退兵后,魏军把当地百姓的粮食也吃的剩不下多少了,所以将领们建议向陇右运输粮食,司马懿判断诸葛亮回军会积聚粮食,最少三稔之后才能出兵,而且攻击方向会是陇东,不是陇右,因此不必向陇右运输粮食。
再有就是解祁山之围,《晋书》称司马懿追到祁山,诸葛亮退至卤城,从地理上讲,祁山在卤城西面,也是防御要地,卤城在今天的祁山堡东面的盐关,盛产食盐,诸葛亮在此拒险防御。《三国志》王平传描述了祁山之战,司马懿同诸葛亮作战,张郃攻打王平,战役经过不详,但是诸葛亮不再包围祁山退到卤城防御了,表明司马懿不听张郃驻军祁山附近声援的主张,直接援助祁山的结果是让诸葛亮退兵卤城,解了祁山之围。
也正是在这时根据诸葛亮弹劾李严的上书,称魏蜀在卤城对峙时,李严托病移驻沮(勉县西古沮水)、漳(康县咀台子附近),诸葛亮退到沮、漳后,李严又返回江阳。李严传说蜀军粮草供应困难,最终退兵。这也间接表明司马懿攻占卤城取得胜利是可信的,因为诸葛亮从卤城退到了沮、漳,魏蜀两军在这附近可能也有相持,张郃也是在追击蜀军退兵途中在青封、木门被冷箭射中负伤而亡(膝部中箭,去世时间不详),追击战魏军尽管大将负伤,但损失不会很大。因为蜀国没有对诸葛亮加封,表明蜀军是受到损失了,而魏国却依然对众将封赏。
相对而言《汉晋春秋》说诸葛亮也取得胜利就有习凿齿因为敬仰诸葛亮为他掩饰的痕迹,蜀国没有对诸葛亮有封赏,都表明诸葛亮损失的部队更多,《晋书》记载其损失万人是可信的。也不能认为习凿齿为诸葛亮掩饰说的三千甲首是三千军官,而应该解释为披甲士兵,而蜀军缴获的铠甲却有五千,这些数字都是可信度不高,或为习凿齿粉饰的隐讳笔法,或者是他引用了崇拜诸葛的人所做的描述。