诸葛亮恢复与吴联盟、平定南中后,就准备北伐曹魏。第一次北伐在蜀汉建兴六年(228年)春,他令赵云等作疑兵,摆出由斜谷(今陕西眉县南)攻郿城(今眉县北)的态势,以吸引魏军自己则率主力向祁山(今甘肃西和县祁山堡)方向进攻。
第二次北伐是同年冬,诸葛亮乘陆逊在石亭打败曹休之机,出散关,包围陈仓(今陕西宝鸡西南),攻打二十多天未破,魏的援军赶到,他不得已又退回汉中。
第三次北伐是建兴七年,亮进攻武都(今甘肃成县)、阴平(今甘肃文县西北),打败魏援军,占了这两郡,留兵据守,自己率部回师。次年,魏军进攻汉中,诸葛亮加强防守,又增调援军,再由于连续大雨,子午谷、斜谷等道路不通,魏军撤退。
第四次北伐是建兴九年,蜀军包围祁山,魏军统帅司马懿迎击,诸葛亮准备决战。司马懿知蜀军远来,军粮不多,凭险坚守,拒不出战。诸葛亮想用退兵的办法引诱敌人,但司马懿追赶很谨慎,蜀军一停,他就扎营拒守。
第五次北伐是十二年春,诸葛亮率十万大军出斜谷口,到达郿县,在渭水南岸五丈原扎营。司马懿也筑营阻拦,不与蜀军作战,料知蜀军远来,粮草运输困难,想把蜀军拖垮。诸葛亮也有准备,在渭水分兵屯田,作长期战争的打算。
诸葛亮在这次出兵前曾与孙权约定同时攻魏,五月吴军十万攻魏,不胜,撤回江东,所以蜀军只得与魏军单方面周旋。八月间诸葛亮积劳成疾,病情日益严重,不久就与世长辞。死后,姜维等遵照他的遗嘱,秘不发丧,整军退入斜谷。