二出祁山是诸葛亮趁陆逊在石亭打败曹休,出散关,包围陈仓.陈仓虽然是小城,但地势险要,曹真早就派郝昭在此防守,蜀军多次进攻被打退,后来粮食发生困难,援兵又至,不得不退兵回汉中,并在途中用伏兵打败追兵,杀死王双.229年,诸葛亮第三次北伐.他派陈式攻打武都,阴平二郡.郭淮领兵来救,被打败,蜀军占领二郡,诸葛亮对当地的少数民族进行了安抚工作,然后留下将士据守,自己回汉中.第四次出祁山,魏明帝调驻守荆州的司马懿来西线督军迎击蜀军.诸葛亮留下王平带部分军队继续攻打祁山,自己率主力迎战司马懿,在上邦打败郭淮,费曜,然后东上迎击司马懿.司马懿凭险而守,拒不出战.后来,在众将的一再要求下,司马懿只好出战.五月间诸葛亮派大将魏延,高翔,吴班领兵迎击,大败魏军.司马懿与张合会兵一处,退兵保营,不再出战.此时,李严由于督促粮草的失误,欺上瞒下,骗诸葛亮退军.司马懿派张合追击,在木门被杀死.期间经过几年的征战,诸葛亮决定“休士养民”,积蓄力量。234年春,最后一次出兵,司马懿背水构筑营垒阻挡。双方在渭水南岸对峙。司马懿仍然坚守不出,这年的8月,诸葛亮病重,终于在五丈原与世长辞了,终年54岁。蜀军秘不发丧,司马懿怕遭到诸葛亮的暗算,在蜀军退兵的时候不敢擅自追击。
杜甫的诗赞曰:
三顾频繁天下计,两朝开济老臣心。
出师未捷身先死,长使英雄泪满襟。
丞相几番用兵,拿到后人手中,抨击他穷兵黩武。我则不然,西蜀是偏远小国,能力不足抵抗东吴和北魏。从丞相的几次用兵,无有不克,无果而反,乃是内部不稳定以及国力亏空所致。担当身前事,何计身后评呢?诸葛亮为西蜀的治理可谓费尽心思。