卻說曹操興師西征,分兵三隊:前部先鋒夏侯淵、張郃;操自領諸將居中;後部曹仁、夏侯惇,押運糧草。早有細作報入漢中來。張魯與弟張衛,商議退敵之策。衛曰:“漢中最險無如陽平關,可於關之左右,依山傍林,下十餘個寨柵,迎敵曹兵。兄在漢寧,多撥糧草應付。”張魯依言,遣大將楊昂、楊任,與其弟即日起程。軍馬到陽平關,下寨已定。夏侯淵、張郃前軍隨到,聞陽平關已有準備,離關一十五裏下寨。是夜,軍士疲困,各自歇息。忽寨後一把火起,楊昂、楊任兩路兵殺來劫寨。夏侯淵、張郃急上得馬,四下裏大兵擁入,曹兵大敗,退見曹操。操怒曰:“汝二人行軍許多年,豈不知‘兵若遠行疲困,可防劫寨’?如何不作準備?”欲斬二人,以明軍法。眾官告免。
操次日自引兵為前隊,見山勢險惡,林木叢雜,不知路徑,恐有伏兵,即引軍回寨,謂許褚、徐晃二將曰:“吾若知此處如此險惡,必不起兵來。”許褚曰:“兵已至此,主公不可憚勞。”次日,操上馬,隻帶許褚、徐晃二人,來看張衛寨柵。三匹馬轉過山坡,早望見張衛寨柵。操揚鞭遙指,謂二將曰:“如此堅固,急切難下!”言未已,背後一聲喊起,箭如雨發。楊昂、楊任分兩路殺來。操大驚。許褚大呼曰:“吾當敵賊!徐公明善保主公。”說罷,提刀縱馬向前,力敵二將。楊昂、楊任不能當許褚之勇,回馬退去,其餘不敢向前。徐晃保著曹操奔過山坡,前麵又一軍到;看時,卻是夏侯淵、張郃二將,聽得喊聲,故引軍殺來接應。於是殺退楊昂、楊任,救得曹操回寨。操重賞四將。
自此兩邊相拒五十餘日,隻不交戰。曹操傳令退軍。賈詡曰:“賊勢未見強弱,主公何故自退耶?”操曰:“吾料賊兵每日提備,急難取勝。吾以退軍為名,使賊懈而無備,然後分輕騎抄襲其後,必勝賊矣。”賈詡曰:“丞相神機,不可測也。”於是令夏侯淵、張郃分兵兩路,各引輕騎三千,取小路抄陽平關後。曹操一麵引大軍拔寨盡起。楊昂聽得曹兵退,請楊任商議,欲乘勢擊之。楊任曰:“操詭計極多,未知真實,不可追趕。”楊昂曰:“公不往,吾當自去。”楊任苦諫不從。楊昂盡提五寨軍馬前進,隻留些少軍士守寨。是日,大霧迷漫,對麵不相見。楊昂軍至半路,不能行,權且紮住。