曹操兴兵西征,张鲁商讨如何应对敌军。张卫建议,汉中地势最为险要的地方,我们可以在关隘左右,依山势和林地布下十多个营寨来迎战曹军。兄长您在汉宁坐镇,多调拨些粮草以备不时之需。张鲁采纳了这个建议,随即派遣大将即刻启程。
军队到达阳平关后迅速安营扎寨,前锋军也紧随其后抵达。当他们得知阳平关已有防备时,便在离关十五里的地方扎营。当晚,由于行军劳累士兵们都已疲惫不堪,纷纷歇息下来。然而就在深夜时分,突然寨后火光冲天而起,两路兵马杀来劫营。曹军匆忙上马迎战,但四面八方涌入的敌军让他们陷入了困境,曹军大败逃回。
曹操愤怒地责备说,你们怎会不知长途行军士兵,疲惫时应防范劫营的道理?为何不提前做好准备?他本欲斩此二人以严明军纪,但在其他将领的求情下最终作罢。第二天曹操亲自率兵担任前锋去探索地形,在看到复杂地形后担心有埋伏,便决定退回营寨。
第二天曹操骑上马只带着两人去察看营寨布局。当他们转过一个山坡时远远地望见了营寨。曹操正挥鞭指着营寨对两位将领评价其坚固程度时,突然从背后传来一声呐喊箭矢如雨点般射来。
曹操大惊失色之际许褚大喊道,我来抵挡敌将,你要保护好主公!说完提刀冲向前去交战。对方无法抵挡许褚的勇猛纷纷败退而去,其余士兵也不敢再上前。曹操逃到山坡,成功击退了敌军救回了曹操并安全返回了营寨。
战后曹操对四位将领进行了重赏。自此之后两军对峙了五十多天都未曾交战。一天曹操下令撤军,我估计敌军每天都在严阵以待,我们难以迅速取胜。所以我打算以撤军为名让敌人放松警惕,然后再派遣轻骑兵抄袭他们的后路,这样必定能够战胜他们。
于是曹操命令率领三千轻骑兵分兵两路从小路抄袭敌军后方,同时他自己也带领大军拔营起寨作势撤退。得知曹军撤退的消息后,杨任商议想要乘胜追击,说曹操诡计多端我们不知道他的真实意图所以不能轻易追击。
最终带着五寨的全部军马前去追击,只留下少量士兵守寨。然而当天大雾弥漫视线极差,军队在半路上迷失了方向无法继续前行,只得暂时驻扎下来。
另一方面曹军一路兵马在抄过山后,发现大雾弥漫且听到人喊马叫的声音,担心有埋伏。于是加快行军速度。守寨的士兵听到马蹄声误以为是军队回来了,便开门让他们进入。结果曹军一拥而入发现是空寨后便放火焚烧了营寨。五寨的士兵看到火光四起都纷纷弃寨而逃。
等到大雾散去,援军赶来救援,交战不久兵马也赶到了现场。杀出一条大路逃回了。想要回撤时却发现营寨已经被占领了。而曹操的大军也紧随其后赶来了。在两路夹攻之下四面无路只得硬着头皮突围,结果正好撞上了,两人交手不久便被张郃斩杀于马下。
败逃的士兵们纷纷逃回,报告了战败的消息。原来得知战败以及各营失守的消息后逃回了汉中。就这样曹操顺利地占领了。