十二月,诸葛亮率领大军从散关出发,进攻陈仓,开始了第二次北伐。
陈仓确实没多少兵力,只有镇西将军郝昭率领一千多兵士驻守。
但郝昭在诸葛亮第一次北伐后,按照曹真的要求,抓紧加固了城防。
诸葛亮围住了陈仓,并不急于进攻,派郝昭的同乡靳详去劝说他投降。
靳详来到城下,远远地向郝昭喊话。
郝昭站在城楼上,对靳详说:“魏国的法律,你是熟悉的,我的为人,你是了解的。我门第崇高,深受国恩,唯有以死报国而已。你不必多说,回去告诉诸葛亮,来战吧。”
靳详回去,把郝昭的话告诉了诸葛亮。
诸葛亮想尽量不耗损兵力,不战而降敌,于是让靳详再去劝告郝昭,说:“我几万兵马,对你一千多人,兵力悬殊,你完全抵挡不住,何必自取毁灭,白白送死呢?”
郝昭意志坚定,对靳详说:“前面已经说过了,我认识你,箭可不认识你。”
靳详只好返回。
诸葛亮见劝降无用,下令攻城。
他原以为蜀军几万兵马,对付郝昭的一千多士兵,还不是手到擒来,在魏国援军赶到之前,一定可以攻下陈仓。
但战役的发展,出乎了他的意料。
郝昭率领这一千多号人,竟然抵挡住了蜀军的轮番进攻。
诸葛亮命蜀军架起云梯攻城,郝昭命魏军点起火箭狙击,一阵箭雨覆盖,蜀军梯毁人亡。
这是中国历史上有史记载的第一次使用“火箭”的战斗。
诸葛亮命蜀军用冲车冲锋,郝昭命魏军用绳子系上石磨,掷击冲车,予以击毁。
诸葛亮建造百尺高的井字形木栏,居高临下向城中射箭,掩护士兵用土块填塞护城的壕沟,想逼近了攀上城墙,郝昭就连夜在城内再筑一道城墙,退守内城。
诸葛亮又派人挖地道,想从地道进入城里,郝昭则在城内挖横向地道进行拦截。
蜀军昼夜进攻,二十多天过去了,陈仓坚如磐石。
曹真派出将军费耀等,救援郝昭。
魏明帝曹叡也紧急召见驻扎在方城的张郃,命他回援陈仓,击退诸葛亮。
曹叡派三万士兵,及武卫、虎贲一部,调拨张郃指挥。
他还亲自赶到河南城外,摆下酒席,为张郃送行,问他:“等将军赶到,诸葛亮是不是已经取得陈仓了呢?”
张郃看穿了诸葛亮这次进攻陈仓的意图,估计他既然是配合东吴作战,必然不会打持久战,所带军粮支撑不了多久,于是装模作样,屈指一算,说:“等我到了那里,诸葛亮已撤走了。”
正如张郃所料,诸葛亮久攻陈仓不下,军粮所剩无几,又听说张郃日夜兼程,带着大军回援,不等张郃赶到,便率军撤退了。
魏将军王双追击,中了诸葛亮的埋伏,被杀身亡。
这一年,张郃在关中和荆州之间往来奔跑,来回救援,可谓劳苦功高。
曹叡诏令张郃回师京城,拜他为征西车骑将军。
为奖励郝昭坚守陈仓不失,曹叡下诏赐他为关内侯。
郝昭回洛阳时,曹叡对中书令孙资说:“我没想到你还有这么一个豪爽的老乡。魏国有如此将领,我还有什么可担忧的呢?”亲自接见了郝昭,准备重用他。
可惜,郝昭不久身染重疾离世。
蜀建兴七年(229年)春季,诸葛亮开始第三次北伐,派部将陈式(一说陈戒)攻打武都(治下辨县,今甘肃陇南市成县西)、阴平(治阴平县,今甘肃陇南市文县西北)二郡。
魏雍州刺史郭淮领兵来救,诸葛亮亲率主力抵达武都郡西北角的建威(今甘肃陇南市成县西)。
郭准面对诸葛亮大军,自认不敌,为防后路被断,于是引军退去,蜀军顺利占领二郡。
刘禅借机恢复了诸葛亮丞相的职位。
到了冬季,诸葛亮把丞相府、军营迁移到南山下的平原上,并在沔阳县(今陕西汉中市勉县东旧州铺)修建汉城,在成固县(今陕西汉中市成固县)修建乐城,加强蜀中防备。
武都、阴平本是羌族、氐族的聚集地,地广人稀、土地贫瘠,加之易攻难守,魏国一向视如鸡肋,也没实施过有效管理。
所以,两郡的失陷,在魏国看来,不是什么大不了的事情。
朝廷内外反而对郭淮当初及时撤退表示赞赏,认为他没与诸葛亮主力硬碰,保存了实力。