心中害怕,与将军高览愤而投奔曹操。曹操闻张郃来降,十分高兴,将此事比作微子去殷、韩信归汉,于是拜张郃为偏将军,封都亭侯,授予他部队,随军作战。
[204年],张郃随曹操攻克邺城,大败袁尚。次年,又随曹操在南皮消灭袁谭势力。
[207年],曹操远征乌桓,张郃与张辽共为先锋。战后,张郃因功升为平狄将军。后来,张郃又参加了征讨管承,征讨陈兰、梅成等人的作战。
[211年],马超、韩遂叛乱,张郃随曹操出征,在渭南大破关中军。继而,张郃率军围攻安定,击降杨秋。
[214年],马超在张鲁支持下,卷土重来。张郃跟随夏侯渊击败马超,并平定了宋建的叛乱。
[215年],曹操亲率大军进攻汉中,从散关入,派张郃率五千步兵在前开道,一直到阳平。张鲁投降,曹操回军,留张郃与夏侯渊、徐晃等守汉中,以拒刘备。同年,张郃率兵南下进攻巴西郡,欲迁徙当地百姓到汉中。刘备派征虏将军张飞为巴西郡太守,抗击张郃。张郃军进至岩渠,被张飞击败,率残部退回南郑,改任荡寇将军。
[218年],刘备进攻汉中,屯于阳平,夏侯渊、张郃、徐晃等率军迎击,张郃负责防守广石。刘备亲自率精兵万余人,分为十部,夜间猛攻张郃。张郃亲自率兵与蜀军进行搏斗,刘备不能攻克。次年,魏军主帅夏侯渊在定军山战死,曹军大败,张郃同败军一起退守阳平关东。司马郭淮和督军杜袭收敛散卒,推举张郃继夏侯渊为魏军主帅。张郃出任,指挥士兵,布置营寨,军心安定。刘备欲渡汉水来攻,见魏军在汉水以北列阵相迎,刘备于是放弃渡河,隔水相持。不久,曹操遣使令张郃假节。后来,曹操亲自进攻汉中,不能取胜,于是撤出汉中的部队,令张郃屯兵于陈仓。
220年],曹丕即位,任命张郃为左将军,进封都乡侯。不久,曹丕称帝,又进封张郃为鄚侯,随即命令张郃跟随曹真征讨安定的胡羌,之后与曹真一同进朝朝见。
[223年],张郃同夏侯尚一起进攻江陵。张郃别督诸军渡江,攻取洲上屯坞。
[227年],魏明帝曹叡即位,张郃奉命屯兵荆州,与司马懿进攻孙权部将刘阿等人,追至祁口`交战,击败吴军。
[228年],蜀相诸葛亮第一次北伐,南安、天水、安定三郡响应。魏明帝曹叡加张郃位特进,使督诸军,与蜀将马谡战于街亭。马谡依守南山,下不据城,被张郃截断水源,杀得大败。继而,张郃又平定了三郡的反叛。魏明帝曹叡下诏嘉奖张郃,增加食邑1000户,前后一共4300户。司马懿在荆州训练水军,欲从沔江顺流进入长江伐吴,魏明帝曹叡命令张郃率关中诸军去荆州接受调度。张郃到达荆州后,正值冬天水浅,大船无法通行,于是又回军屯驻方城。同年年底,诸葛亮第二次北伐,出散关围陈仓。魏明帝曹叡急招张郃进京,把三万士兵交给他指挥,并派遣武卫、虎贲等侍卫保护张郃。魏明帝还亲至河南城置相酒送,问张郃能不能来得及救援陈仓,张郃判断诸葛亮军没有粮草,一定不能持久,便回答等援军赶到时,诸葛亮已经退走。张郃率军连夜赶到南郑,诸葛亮果然退军,于是奉诏还于京都,被拜为征西车骑将军。
[231年],诸葛亮第四次北伐,张郃随司马懿前往相拒。后诸葛亮粮尽退兵,张郃追至木门,与诸葛亮军交战,被飞矢射中右膝,死亡,被谥为壮侯,儿子张雄继嗣。由于张郃前后征战有功,魏明帝分张郃的食邑,封张郃的四个儿子为列侯,封他的幼子爵为关内侯。
张郃通晓应变之术,擅长布置营寨,预料战势、地形,一向准确,即使诸葛亮都对他有所顾忌。张郃虽为武将,却喜欢儒士,曾推荐同乡的卑湛,被皇帝下诏嘉奖,将张郃比作爱好儒学