柳城的时候,张郃和张辽担任先锋,张郃因为屡立战功升任平狄将军,张郃还领兵征讨东莱郡,讨伐管承,还和张辽等人一起讨伐陈兰、梅成等人,大获全胜。张郃跟随曹操到渭南,击溃了马超、韩遂等,又包围了安定,杨秋投降。张郃、夏侯渊一起征讨盘踞在鄜城的贼寇梁兴和武都一代的氐族叛军,再次击败了马超的部队,平定了宋建统治的地区。
曹操西征张鲁,抵达陈仓,准备从武都郡进入氐族部落,氐族人挡住道路,曹操派张郃统帅大军讨伐梁兴和氐族首领窦茂所部。不久从散关入汉中,派张郃率五千步兵在前开道,一直到阳平。张鲁投降,曹操回军,留张郃与夏侯渊、徐晃等守汉中,以拒刘备。同年,张郃别督诸军南下进攻巴东、巴西二郡,将当地百姓迁徙到汉中。刘备派征虏将军张飞为巴西郡太守,抗击张郃,张郃率军进至宕渠,与张飞相拒五十余日,张飞率精兵万余人从小道进攻张郃,由于山道狭窄,首尾不能相救,张郃大败,仅带十余人弃马爬山逃跑,之后收拢败兵,撤回南郑,升迁荡寇将军。
刘备进攻汉中,屯于阳平,夏侯渊、张郃、徐晃等率军迎击,张郃负责防守广石。刘备亲自率精兵万余人,分为十部,夜间猛攻张郃,张郃率亲兵与蜀军进行对抗,刘备不能攻克张