自此兩邊相拒五十餘日,隻不交兵。曹操傳令退兵。賈詡曰:“賊勢未見強弱,主公何故自退耶?”操曰:“吾料賊兵每日提備,急難取勝。吾以退兵為名,使賊懈而無備,然後分輕騎抄襲厥後,必勝賊矣。”賈詡曰:“丞相神機,不成測也。”因而令夏侯淵;張郃分兵兩路,各引輕騎三千,取巷子抄陽平關後。曹操一麵引雄師拔寨儘起。楊昂聽得曹兵退,請楊任商討,欲乘勢擊之。楊任曰:“操狡計極多,未知實在,不成追逐。”楊昂曰:“公不往,吾當自去。”楊任苦諫不從。楊昂儘提五寨軍馬進步,隻留些少軍士守寨。
是日,大霧迷漫,劈麵不相見。楊昂軍至半路,不能行,臨時紮住。卻說夏侯淵一軍抄過山後,見重霧垂空,又聞人語馬嘶,恐有伏兵,急催人馬行動,大霧中誤走到楊昂寨前。
守寨軍士,聽得馬蹄響,隻道是楊昂兵回,開門納之。曹軍一擁而入,見是空寨,便就寨中放起火來。五寨軍士,儘皆棄寨而走。比及霧散,楊任領兵來救,與夏侯淵戰不數合,背後張郃兵到。楊任殺條通衢,奔回南鄭。楊昂待要回時,已被夏侯淵、張郃兩個占了寨柵。背後曹操大隊軍馬趕來。兩下夾攻,四邊無路。楊昂欲突陣而出,正撞著張郃兩個比武,被張郃殺死。敗兵回投陽平關,來見張衛。本來衛知二將敗走,諸營已失,半夜棄關,奔歸去了。
忽寨後一把火起,楊昂、楊任兩路兵殺來劫寨。夏侯淵、張郃急上得馬,四下裡大兵擁入,曹兵大敗,退見曹操。操怒曰:“汝二人行軍很多年,豈不知兵若遠行疲睏,可防劫寨?如何不作籌辦?”欲斬二人,以明軍法。眾官告免。操次日自引兵為前隊,見山勢險惡,林木叢雜,不知途徑,恐有伏兵,即引軍回寨,謂許褚、徐晃二將曰:“吾若知此處如此險惡,必不起兵來。”許褚曰:“兵已至此,主公不成憚勞。”次日,操上馬,隻帶許褚、徐晃二人,來看張衛寨柵。三匹馬轉過山坡,早瞥見張衛寨柵。操揚鞭遙指,謂二將曰:“如此堅毅,孔殷難下!”言未已,背後一聲喊起,箭如雨發。楊昂、楊任分兩路殺來。操大驚。許褚大喊曰:“吾當敵賊!徐公明善保主公。”說罷,提刀縱馬向前,力敵二將。楊昂、楊任不能當許褚之勇,回馬退去,其他不敢向前。徐晃保著曹操奔過山坡,前麵又一軍到;看時,倒是夏侯淵;張郃二將,聽得喊聲,故引軍殺來策應。因而殺退楊昂、楊任,救得曹操回寨。操重賞四將。
曹操遂得陽平關並諸寨。張衛、楊任回見張魯。衛言二將失了隘口,是以守關不住。張魯大怒,欲斬楊任。任曰:“某曾諫楊昂,休追操兵。他不肯聽信,故有此敗。任再乞一軍前去應戰,必斬曹操。如不堪,甘當軍令。”張魯取了軍令狀。楊任上馬,引二萬軍離南鄭下寨。卻說曹操提軍將進,先令夏侯淵領五千軍,往南鄭路上哨探,正迎著楊任軍馬,兩軍擺開。任遣部將昌奇出馬,與淵比武;戰不三合,被淵一刀斬於馬下。楊任自挺槍出馬,與淵戰三十餘合,不分勝負。淵佯敗而走,任從後追來;被淵用拖刀計,斬於馬下。軍士大敗而回。曹操知夏侯淵斬了楊任,立即進兵,直抵南鄭下寨。張魯慌聚文武商討。閻圃曰:“某保一人,可敵曹操部下諸將。”魯問是誰。圃曰:“南安龐德,前隨馬超投主公;後馬超往西川,龐德臥病未曾行。當今蒙主公恩養,何不令此人去?”