來了。在兩路夾攻之下楊昂四面無路只得硬著頭皮突圍結果正好撞上了張合兩人交手不久楊昂便被張合斬殺於馬下。
敗逃計程車兵們紛紛逃回陽平關向張衛報告了戰敗的訊息。原來張衛在得知楊昂和楊任戰敗以及各營失守的訊息後已於半夜時分放棄了陽平關逃回了漢中。就這樣曹操順利地佔領了陽平關以及周邊的各個營寨。
張衛和楊任回去見張魯,張衛說因為兩位將軍失去了關隘口,所以無法守住關口。張魯聽後非常生氣,想要斬了楊任。但楊任辯解說,他曾建議楊昂不要追擊曹操的軍隊,但楊昂沒有聽從,才導致了失敗。他請求再次帶領軍隊去挑戰曹操,併發誓如果不能取勝,就願意接受軍法處置。於是,張魯讓他立下了軍令狀,楊任便帶著兩萬軍隊離開了南鄭,去建立營寨。
曹操得知這一訊息後,命令夏侯淵帶領五千軍隊前往南鄭路上進行偵察。正好遇到了楊任的軍隊,兩軍隨即擺開了陣勢。楊任派部將昌奇出馬與夏侯淵交鋒,但昌奇很快就被夏侯淵一刀斬於馬下。接著,楊任親自挺槍出馬與夏侯淵交戰,兩人打了三十多個回合,不分勝負。夏侯淵假裝敗走,楊任緊追不捨,結果被夏侯淵用拖刀計斬於馬下。曹操的軍隊大獲全勝,隨即進軍直抵南鄭,並在那裡建立了營寨。
張魯得知訊息後非常驚慌,聚集文武商議對策。閻圃向他推薦了一個人,說這個人可以敵得過曹操手下的所有將領。這個人就是南安龐德。張魯聽後大喜,立刻召見龐德,並對他進行了豐厚的賞賜。他撥給龐德一萬軍隊,命令他出戰曹操。在離城十多里的地方,龐德的軍隊與曹操的軍隊相遇了。龐德出馬挑戰,曹操深知龐德的勇猛,於是囑咐諸將要與龐德緩鬥,以消耗他的體力,然後再擒住他。張合、夏侯淵、徐晃等將領先後出戰,但都很快就退了下來。最後,許褚與龐德大戰五十多個回合也退了回來。龐德力戰四將,毫無懼色,讓曹操非常欣賞。
曹操與眾將商議如何得到龐德的投降。賈詡建議利用張魯手下的謀士楊松的貪婪本性,暗中送給他金帛財物,讓他在張魯面前誣陷龐德。曹操同意了這個計劃,並選派了一個精細的軍校去執行這個任務。這個軍校扮作張魯計程車兵混入了南鄭城。
第二天,曹操先派遣夏侯淵和張合兩支軍隊遠去埋伏,然後讓徐晃出戰挑戰龐德。徐晃與龐德交戰不久就敗走了,龐德率軍追擊,奪得了曹操的營寨,並設宴慶賀。然而,在當夜二更之後,曹操的三路軍隊齊來劫寨,龐德措手不及,只得逃回城中。這時,扮作張魯士兵的軍校已經混入了城中,並向楊松傳遞了曹操的密信和金甲為信物。
楊松收到密信和金甲後大喜過望,並決定按照曹操的意願行事。他連夜入見張魯誣陷龐德受了曹操的賄賂而故意賣陣。張魯聽後大怒並要斬龐德,但閻圃苦勸張魯才作罷,不過仍然要求龐德明日出戰必須取勝否則必斬。然而龐德此時已經對張魯失去了信心,他抱恨而退。
第二天曹操的軍隊攻城時龐德引兵衝出迎戰許褚。許褚詐敗引誘龐德追趕,曹操則在山坡上呼喚龐德投降。龐德考慮到抓住曹操可以抵得上一千員上將的功勞於是飛馬上坡結果被曹操預先設定的陷坑捉住。曹操下馬親自為龐德解縛並詢問他是否願意投降,龐德考慮到張魯的不仁決定投降曹操。曹操親自扶龐德上馬並一起回到大寨中故意讓城上的人看到,這使得張魯更加相信楊松的話認為龐德已經投降了曹操。
次日,曹操從三個方向豎起雲梯,發射炮彈進行攻打。張魯看到形勢已極為不利,與弟弟張衛商議對策。張衛建議:“我們放火焚燒所有的倉庫和官府,然後逃往南山,去守衛巴中。”但楊松卻提議:“不如直接開門投降。”張魯猶豫不決。張衛堅持說:“只要燒了就行。”然而張魯回應:“我本來就想歸順國家,只是意願尚未傳達。