诸葛亮得知魏将曹休被吴国大都督陆逊败于石亭(今安徽怀宁、柚城之间),魏军东调,关中空虚后,再一次乘机出兵攻魏。十一月,他第二次北伐,率军复出关。围陈仓这一次他的目标较第一次接近曹魏战略要地。本来,乘虚而动的要诀是快,却遭到魏将郝昭的顽强抵抗,相持十几天,竟然毫无办法。郝昭的固守为曹魏军队提供了充足的部署时间。不久,东线战事缓解,曹真率大军赶来陈仓前线。诸葛亮军粮巳尽,相持于自己不利,于是退军。第二次北伐再次无功而返。
魏将王双见诸葛亮退走,率队乘势追击。他料想诸葛亮一定是吓破了胆才撤退的,满以为自己这一追,蜀汉军队自然是全线溃退,再不济也能捞点便宵。不曾想正中回马一枪,被诸葛亮的大军团团围住,不但没捞着,还送掉了自己的小命。229年,诸葛亮再度出击,派陈式攻武都(今甘肃成县西北八阴平,今甘肃文县西北)这一回,进展相当顺利。不多久武都、阴平两城皆下。蜀汉赢得与雍、凉交通的战略要地。一击而成,诸葛亮终于获得初次北伐以来的第一场胜利。
曹魏雍州刺史郭淮对武都、阴平之失很不服气,要一举夺回,为此他率大军进击陈式。诸葛亮针锋相对,率中一力出至建威(今过肃西和县北),郭淮不敢与之争锋,退回防守。武都、阴平两地稳稳叫人蜀汉。这次出军也算达到了战略目的。231年二月,在蜀汉军资储备略显丰富之后,诸葛亮率大军复出祁山,闻向陇右。这一回他遇到了夙敌司马懿,司马懿坚持曾魏方面既定战略,恃险拒守,坚不出战。诸葛亮数次挑战,司马懿帐下将士按捺不住要出战,司马懿为平息众人,故意脱衣远送洛阳求战,以拖延时间。诸葛亮心知其意,却也无可奈何。六月,蜀汉军队粮草耗尽,只得主动退军。撤退时,诱杀曹魏大将张合。234年,经过长期休整后,诸葛亮集中10万兵力,准备第六次北伐。临行,他派全泽为使前往东吴,约孙权同时出兵攻魏。孙权同意,于是诸葛亮率大军待出,以木牛流马运粮。从进展来看,他是要与曹魏在西线大打一场持久战,占据五丈原后,他分兵屯田,作长久之计。五文原在今陕西岐山县城南约20公里处,高120余米,面积约有12平方公里。形势险要,可攻可守。在这一带屯田,显然可起到良好作用,战争过程中蜀汉一方没有为粮食问题困扰。五月,吴国亦应约,一路出武,进攻曹魏,以配合蜀汉军队在西线的攻势。不过,东吴出兵只是做做样子,曹睿采取西守东攻战略,孙权也没有坚持对魏作战,虚晃一枪以后便全线后撤了。
诸葛亮与老对手司马懿依渭水对阵。同上一场战争一样,司马懿采取防守策略,双方仍然没有进行大的决战。两军对峙,苦无战机,诸葛亮只得将重点放在屯田与发展渭滨居民丄,以此做长期打算。同年八月,诸葛亮终因积劳成疾,一病不起,长逝于五丈原军中,时年54岁,就几次北伐来看,这一次虽无功可言,却是最可能达到诸葛亮战略目的的一次。在防御、屯田与争取民众三方面都取得效果,假之以时诸葛亮至少应该能在陇山至关中一线有所作为。只可惜出师未徒身先死,诸葛大限巳致,蜀汉全军没了主心骨,只能遗憾地退军。