张玉,字世美,祥符人。元朝时任枢密知院。元朝灭亡后,他跟随逃往漠北。洪武十八年(1385),前来归附太祖。他随大军出塞,到达捕鱼儿海,因功被授为济南卫副千户,升为安庆卫指挥佥事。又随征远顺、散毛诸洞,北逐骚扰边境的元朝人,追至鸦寒山而返,调任燕山左护卫。他随燕王出塞,到达黑松林。又跟随征讨野人诸部,因为他骁勇果敢,善于谋划,而被燕王重用。
建文元年(1399),成祖起兵。张玉率军夺取北平九门,安抚城中内外,三日遂定。军队将往南,张玉献计,派朱能东攻蓟州,杀死马宣,降服遵化,分兵攻下永平、密云,每到一处,都将所获精锐充实军中。张玉因而被提升为都指挥佥事。
这时朝廷派大军伐燕,都督徐凯驻扎河间,潘忠、杨松驻扎莫阝州,长兴侯耿炳文率三十万军队驻扎真定。张玉劝说道“:潘、杨二人有勇无谋,可以前去袭击,俘获他们。”成祖便命张玉率领亲兵为前锋,直抵楼桑。恰好是中秋节,南军正在设宴。夜半时分,张玉军迅速攻破雄县。当潘忠、杨松前来救援时,便在月漾桥进行拦击,生擒他俩,遂克莫阝州。张玉亲率轻骑窥探耿炳文军。回来后说耿炳文军毫无纪律,在当官的中间有失败气氛,应当迅速进击。成祖遂引兵往西,到达无极时,回头与诸将商量该往何处。诸将认为南军盛多,请求驻扎新乐。张玉则说“:他们人虽多,但都是新招集的。我军乘胜直趋真定,一定能攻克它。”成祖高兴地说“:我有了张玉便足以成大事了。”第二天便抵达真定,大破耿炳文军,俘获副将李坚、宁忠,都督顾成等,斩首三万,又击败安陆侯吴杰军,燕兵从此大振。
江阴侯吴高率辽东兵围攻永平。曹国公李景隆则率数十万大军将攻北平。成祖与张玉商量,决定先援永平。燕兵一到,吴高便逃走了,张玉追斩甚多。然后抄小道袭击大宁,俘虏多人而返。驻扎会州。开始设立五军,张玉统领中军。当时李景隆已围攻北平,成祖回师,双方大战于郑村坝。李景隆战败,成祖乘胜直抵城下。城中守军呐喊而出,内外夹攻,南军大溃。
第二年,张玉随军进攻广昌、蔚州、大同。探子报告说李景隆收集溃兵,号称百万,即将来到。张玉说:“兵贵神速,我们要先占白沟河,以逸待劳。”燕军驻扎河上三日后,李景隆才到,燕兵以精锐骑兵迅速进击,又大败之。并进拔德州,追赶到济南,围攻三月后,解围而返。随后再次出兵,破沧州,擒徐凯,进攻东昌,与盛庸军相遇。成祖率数十名骑兵绕到其后。盛庸将他们层层包围起来,成祖奋击才得以冲出重围。张玉不知成祖在何处,便突入阵中拼力而战,格杀数十人,自己也受伤而死。终年五十八岁。
燕兵兴起以来,转战三年,兵锋极锐。现在损失大将,全军气馁。回师北平后,诸将叩首请罪。成祖说:“胜败乃是常事,不必在意,只可惜失去了张玉。正是艰难之际,我却失去了一位好帮手。”成祖泪流不止,诸将也都哭了。此后谭渊死于夹河,王真死于氵肥河,成祖虽然悲悼痛惜,却都不如当初对张玉。建文四年(1402)六月,成祖称帝,追赠张玉为都指挥同知。九月初四日,又追赠他为荣国公,谥号忠显。洪熙元年(1425)三月,张玉被加封河间王,改谥忠武,与东平王朱能、金乡侯王真、荣国公姚广孝一起配享成祖庙庭。