汉中,作为益州的重要门户,一直是战略重地。曹操击败张鲁并成功夺取汉中后,刘备深感忧虑,心情久久无法平复。为了防范曹军可能的反攻,刘备便命令张飞与雷铜驻守巴西,而马超与吴兰则被派往下辨,目的是监视汉中周边的曹军动向。而曹操,显然不甘心就此放松防线,便将曹洪、夏侯渊和张郃三位名将派驻汉中,准备应对蜀军的任何进攻。
曹洪一到汉中,便凭借其过人的军事才能,在首场战斗中迅速击败了马超的先锋吴兰,取得了初步的胜利。驻守宕渠寨、蒙头寨和荡石寨的张郃看到曹洪的胜利,心中大喜,便主动请命要去进攻巴西。曹洪认为巴西防守严密且张飞亲自把守,不宜小觑,劝阻张郃放慢脚步。然而,张郃不以为然,态度轻蔑地表示,“我把张飞视作小儿科”,坚决要求前去捉拿张飞。于是,他郑重立下军令状,如果失败,愿意为军令承担责任。带着自己的部队,张郃出征巴西。
不料,张郃首战便遭遇了不利局面。经过一段激烈的鏖战,张飞与张郃交手了二十几合,雷铜突然从后方带兵杀出,张郃未能及时应对,导致曹军陷入混乱。无奈之下,张郃只能暂时撤退,拨马回军。张飞趁机进行追击,雷铜也从两翼夹攻,结果张郃溃败,只能狼狈地退回宕渠山。尽管此战并没有详细描写张郃和张飞的个人对决,但从张郃最后选择坚守不出、惧怕与张飞再战来看,显然他在阆中一战中已经认识到自己武艺远远不及张飞。
然而,张飞并不仅仅依靠武力。见张郃死守不出,张飞心生一计,便在每天饮酒后假装醉酒,并在山下大声辱骂张郃,甚至命手下士兵与酒后相搏,取乐于此。张郃本以为张飞醉酒无力,机会来临,于是半夜下山准备偷袭张飞营地。没想到,张飞早已做好准备,营地内空无一人。张郃刚准备退走时,张飞已经率军赶到,随即两人展开激烈的战斗。战斗持续了三十多合,最终张郃无法抵挡,只能仓皇逃入瓦口关。
经过两场交手,张郃已经认识到,自己无论如何也无法匹敌张飞。经过惨重损失,他的三万大军中已经折损了近两万,将士士气低落,只得向曹洪求援。然而,曹洪对张郃的失败并不买账,认为张郃过于轻敌,因而决定不派援军,而是催促张郃继续出战。张郃无奈,只得继续谋划新一轮的伏击。
于是,张郃命令手下兵力潜伏在关前,准备借伏兵之计对付张飞。第二天,张郃单独出战,迎战的却是雷铜。张郃假装败退,故意诱使雷铜追击。雷铜中了计,没料到埋伏已在四周,退路被切断,张郃迅速发起反击,刺杀了雷铜。次日,张郃再度挑战张飞,但这次张飞早已识破了计谋,没有上当,便转身让魏延带兵接应,并通过魏延成功堵住了张郃的退路。面对张飞的不断攻击,张郃无力抵抗,最终大败。
这次失败让张郃彻底明白,他的计谋在张飞面前不过是纸上谈兵。于是,他决定彻底放弃出战,开始闭关死守。可张飞并没有给他喘息的机会。通过百姓的指引,张飞得知从梓潼山的小路可以绕到瓦口关的后方,便命魏延带兵主攻瓦口关,而自己则带领五百轻骑从小道出击。张郃虽已闻知魏延的进攻,却仍然决定带兵迎战,结果张飞从后方突然袭击,张郃无法应对,只能狼狈逃跑。面对张飞的追击,张郃最终只得抛下军马,弃马翻山而逃,身边仅剩下十余名随行人员。
值得一提的是,尽管张郃在兵力上占据绝对优势——当时他仍有一万余士兵,而张飞仅有五百轻骑,但张郃在面对张飞的强大威胁时却毫不敢战,最终选择了逃亡。这一系列的交锋,足以看出张郃原本轻视张飞,但在真正与他交手后,却不得不面对自己的无力与恐惧,最终彻底败下阵来。