十二月,諸葛亮率領大軍從散關出發,進攻陳倉,開始了第二次北伐。
陳倉確實沒多少兵力,只有鎮西將軍郝昭率領一千多兵士駐守。
但郝昭在諸葛亮第一次北伐后,按照曹真的要求,抓緊加固了城防。
諸葛亮圍住了陳倉,并不急于進攻,派郝昭的同鄉靳詳去勸說他投降。
靳詳來到城下,遠遠地向郝昭喊話。
郝昭站在城樓上,對靳詳說:“魏國的法律,你是熟悉的,我的為人,你是了解的。我門第崇高,深受國恩,唯有以死報國而已。你不必多說,回去告訴諸葛亮,來戰吧。”
靳詳回去,把郝昭的話告訴了諸葛亮。
諸葛亮想盡量不耗損兵力,不戰而降敵,于是讓靳詳再去勸告郝昭,說:“我幾萬兵馬,對你一千多人,兵力懸殊,你完全抵擋不住,何必自取毀滅,白白送死呢?”
郝昭意志堅定,對靳詳說:“前面已經說過了,我認識你,箭可不認識你。”
靳詳只好返回。
諸葛亮見勸降無用,下令攻城。
他原以為蜀軍幾萬兵馬,對付郝昭的一千多士兵,還不是手到擒來,在魏國援軍趕到之前,一定可以攻下陳倉。
但戰役的發展,出乎了他的意料。
郝昭率領這一千多號人,竟然抵擋住了蜀軍的輪番進攻。
諸葛亮命蜀軍架起云梯攻城,郝昭命魏軍點起火箭狙擊,一陣箭雨覆蓋,蜀軍梯毀人亡。
這是中國歷史上有史記載的第一次使用“火箭”的戰斗。
諸葛亮命蜀軍用沖車沖鋒,郝昭命魏軍用繩子系上石磨,擲擊沖車,予以擊毀。
諸葛亮建造百尺高的井字形木欄,居高臨下向城中射箭,掩護士兵用土塊填塞護城的壕溝,想逼近了攀上城墻,郝昭就連夜在城內再筑一道城墻,退守內城。
諸葛亮又派人挖地道,想從地道進入城里,郝昭則在城內挖橫向地道進行攔截。
蜀軍晝夜進攻,二十多天過去了,陳倉堅如磐石。
曹真派出將軍費耀等,救援郝昭。
魏明帝曹叡也緊急召見駐扎在方城的張郃,命他回援陳倉,擊退諸葛亮。
曹叡派三萬士兵,及武衛、虎賁一部,調撥張郃指揮。
他還親自趕到河南城外,擺下酒席,為張郃送行,問他:“等將軍趕到,諸葛亮是不是已經取得陳倉了呢?”
張郃看穿了諸葛亮這次進攻陳倉的意圖,估計他既然是配合東吳作戰,必然不會打持久戰,所帶軍糧支撐不了多久,于是裝模作樣,屈指一算,說:“等我到了那里,諸葛亮已撤走了。”
正如張郃所料,諸葛亮久攻陳倉不下,軍糧所剩無幾,又聽說張郃日夜兼程,帶著大軍回援,不等張郃趕到,便率軍撤退了。
魏將軍王雙追擊,中了諸葛亮的埋伏,被殺身亡。
這一年,張郃在關中和荊州之間往來奔跑,來回救援,可謂勞苦功高。
曹叡詔令張郃回師京城,拜他為征西車騎將軍。
為獎勵郝昭堅守陳倉不失,曹叡下詔賜他為關內侯。
郝昭回洛陽時,曹叡對中書令孫資說:“我沒想到你還有這么一個豪爽的老鄉。魏國有如此將領,我還有什么可擔憂的呢?”親自接見了郝昭,準備重用他。
可惜,郝昭不久身染重疾離世。
蜀建興七年(229年)春季,諸葛亮開始第三次北伐,派部將陳式(一說陳戒)攻打武都(治下辨縣,今甘肅隴南市成縣西)、陰平(治陰平縣,今甘肅隴南市文縣西北)二郡。
魏雍州刺史郭淮領兵來救,諸葛亮親率主力抵達武都郡西北角的建威(今甘肅隴南市成縣西)。
郭準面對諸葛亮大軍,自認不敵,為防后路被斷,于是引軍退去,蜀軍順利占領二郡。
劉禪借機恢復了諸葛亮丞相的職位。
到了冬季,諸葛亮把丞相府、軍營遷移到南山下的平原上,并在沔陽縣(今陜西漢中市勉縣東舊州鋪)修建漢城,在成固縣(今陜西漢中市成固縣)修建樂城,加強蜀中防備。
武都、陰平本是羌族、氐族的聚集地,地廣人稀、土地貧瘠,加之易攻難守,魏國一向視如雞肋,也沒實施過有效管理。
所以,兩郡的失陷,在魏國看來,不是什么大不了的事情。
朝廷內外反而對郭淮當初及時撤退表示贊賞,認為他沒與諸葛亮主力硬碰,保存了實力。