此后,在建安二十年。曹操讨伐张鲁,派张郃统帅大军讨伐梁兴和氐族首领窦茂所部。不久从散关入汉中,派张郃率五千步兵在前开道,一直到阳平。张鲁投降,曹操回军,留张郃与夏侯渊、徐晃等守汉中,以拒刘备。同年,张郃别督诸军南下进攻巴东、巴西二郡,将当地百姓迁徙到汉中。刘备派征虏将军张飞为巴西郡太守,抗击张郃。张郃率军进至宕渠,与张飞相拒五十余日,张飞率精兵万余人从小道进攻张郃,由于山道狭窄,首尾不能相救,张郃大败,仅带十余人弃马爬山逃跑,之后收拢败兵,撤回南郑。张郃升迁为荡寇将军。
建安二十三年,刘备进攻汉中,屯于阳平,夏侯渊、张郃、徐晃等率军迎击,张郃负责防守广石。
建安二十四年,刘备亲自率精兵万余人,分为十部,夜间猛攻张郃。张郃率亲兵与蜀军进行对抗,刘备不能攻克张郃,写信要求益州拨发援兵。诸葛亮一时迟疑不缺,从事杨洪劝道:“汉中是益州门户,没有汉中就没有益州,还迟疑什么?”诸葛亮恍然大悟,立刻发兵增援。其后,刘备退走马谷,放火烧营,夏侯渊知张郃兵少,调部分兵力来增援,并救火,途中遇上刘备军,被蜀军所杀。曹军大败,张郃同败军一起退守阳平关东。而当刘备听闻夏侯渊被斩杀,只说:“要杀就杀张郃,杀夏侯渊有什么用!”
从刘备的评价之中可以看出,这时候的张郃已经声明在外了。在曹操麾下的五子良将之中,张辽和张郃二人名声最显,一个是在对南方东吴这一块,一个是在对北方蜀汉这一块。
司马郭淮和督军杜袭收敛散卒,郭淮见状,便说:“张将军是国家的名将,刘备也忌惮他。现在形势紧迫,只有张将军才能安定军心。”于是众人推举张郃出任主帅,指挥士兵,布置营寨,军心安定。不久,曹操遣使令张郃假节。刘备欲渡汉水来攻,见魏军在汉水以北列阵相迎,刘备于是放弃渡河,隔水相持。曹操亲自进攻汉中,不能取胜,于是撤出汉中的部队,令张郃屯兵于陈仓。
公元220年(延康元年),曹丕即魏王位后,任命张郃为左将军,进封都乡侯爵位。等到曹丕登基之后,又进封他为鄚侯,命令张郃与曹真率领兵马征伐盘踞在安定一代的卢水胡人和东部羌人。战斗结束后,曹丕又在许昌宫召见了张郃、曹真,派张郃南下与夏侯尚一起进攻东吴政权的江夏郡。张郃独自率领几路大军渡过长江,夺取了百里洲上的吴军堡垒。
曹叡即位后,派张郃来到南方,驻扎荆州,和司马懿一起进攻孙权的部将刘阿等人,大军来到祁口,与吴军激战,打败了刘阿所部。
公元228年(太和二年),蜀汉丞相诸葛亮大举北犯,天水、南安、安定三郡吏民叛应诸葛亮。当时朝臣未知计所出,曹叡自信地说:“诸葛亮恃险固守,不易进攻。现在他自动来了,正符合引出敌人的战术。打败诸葛亮是一定的了。”于是曹叡给张郃加官特进,让他总督各路军马,在街亭阻挡诸葛亮的部将马谡。马谡依傍险要的南山扎寨,没有下山占据城池。张郃断绝了他取水的道路,然後发起进攻,大败马谡。南安、天水、安定各郡反叛魏国响应诸葛亮,张郃领兵平定了这几处地方。曹叡下诏说:“贼寇诸葛亮率领巴、蜀的乌合之众,遇上了猛虎一样的我军将士。将军您披肩甲、执利器,攻无不克,朕要嘉奖你的大功,增加你的食邑一千户,连同一千的赏赐共计四千三百户。”
张郃如此封赏,在曹魏阵营之中也是极少的。
当时司马懿在荆州治理水军,打算沿著沔水进入长江讨伐东吴,曹叡下诏命令张郃统帅关中的部队接受司马懿的指挥。张郃到达荆州时,正赶上冬季水浅,大船不能行进,于是回师方城驻扎。公元229年(太和三年),诸葛亮再次出祁山,对陈仓发动猛烈进攻。曹叡派驿马召张郃到京师,还亲自到河南县城,设置酒宴为张郃送行。曹叡派遣三万士兵以及武卫、虎贲两营的勇士护卫张郃,还问张郃:“等将军到了前线,诸葛亮会不会已经占领了陈仓?”张郃知道诸葛亮孤军深入,不会携带太多的粮草,不能久攻,就回答说:“估计臣还没到前线诸葛亮就已经撤走了。臣屈指计算,诸葛亮的粮草支撑不了十天。”张郃昼夜行军到达南郑,诸葛亮果然撤退了。曹叡诏令张郃回师京城,任命他为征西车骑将军。
除此之外,张郃也不单单是一名武将,同时也好儒风雅。
张郃用兵机变无双,懂得战术变化,擅於安营布阵,根据地形布置战略战术,没有他预料不到的情况,从诸葛亮起的蜀国大将都非常忌惮他。张郃虽然是武将,却喜欢同儒士交往,曾经推荐同乡卑湛,说他通晓经学,品德高尚,曹叡下诏说:“从前祭遵当将军的时候,奏请设置五经大夫,即便在军营中,也和儒士进行唱诗、投壶的游戏。现在将军您统军在外,在内还注意维护朝廷的礼仪。朕非常赞赏将军的美意,准许提