张万公,字良辅,东平东阿人。他幼年聪颖,喜欢读书。其父张弥学,做梦梦到一室,其上贴有一纸,上写“张万相公读书堂”,不久张万公出生,就用此为名。他登正隆二年(1157)进士第,调任新郑簿。因父去世而辞职。服孝期满,他被授予费县簿。大定四年(1164),他为东京辰氵录盐副使,他在任时,盐税有所增加,升为长山令。当时土匪未平,一天早上有几万百姓到城下请求保护,张万公登上城上的矮墙告诉乡亲父老相信他,人们感悟相互离去,境内人依赖他,为他建立祠堂。很久后,他补任尚书省令使,擢升河北西路转运司都勾判官,改任大理评事,因有成就升为司直,四次升任侍御史、尚书右司员外郎。丞相徒单克宁曾对他说“:后代取代我的一定是你。”不久他被授予郎中,他陈述奏章清楚简练,金世宗赞扬他,对侍臣说:“张万公是纯朴正直之人。”不久升为刑部侍郎。
章宗即皇帝位,始设立九路提刑司,张万公被选拔做南京路提刑使。因为他管理功劳最高,升为御史中丞。适逢北部边疆多次有警报,皇帝章宗命令枢密使夹谷清臣发兵前去攻打。张万公说:“此次行动劳民又无利益。”皇帝诏百官在尚书省讨论此事,于是停止发兵。不久张万公为彰国军节度使。
明昌二年(1191),张万公为知大兴府事,授职为参知政事。一年后,张万公因为母亲年老,他请求休养,皇帝不允许,赐给他探亲。张万公探亲归朝,皇帝问他山东、河北粮价贵贱,现在的春苗种植,张万公都如实回答。皇帝章宗对宰臣说“:每个地方虽然都下了雨,但还没有完全下透,怎么办?”张万公进言:“自陛下即位以来,兴利除害,凡是益国便民的事情,您都勤勉操心,没有不实行的。至于旱灾,都由于我们这些大臣们的罪过,如果按照汉朝的典故,我们都应当免官。”皇帝说:“你们什么罪,大概是朕的行为没达到吧。”张万公回答说“:天道虽远,实际上与人事相关联,只有圣人的言行可以感动天地。昔日成汤拿六件事自责,周宣遇到灾难而怕,侧身修行,没有不是治理人事的。现在应该推崇节俭,不紧急的事务、没名份的费用,都可废除。”皇帝说:“灾难不可专说是天道,大概有时可能是人为造成的,所以孟子说帝王没有罪恶的年成。”左丞相完颜守贞说“:陛下引咎自责,这是国家的福呀。”皇帝因此按张万公所说的下诏治罪自己。
进士李邦礰上奏事情,因论世俗侈靡,讥讽涉及先朝,有司议论他说的话有罪,皇帝章宗对宰臣说:“昔日唐朝张玄素用桀王、纣王比作文皇。今天如果把我比作桀王、纣王,也没有罪。至于世宗的功德,岂容讥讽诋毁。”皇帝回头问张万公“:你以为如何?”张万公说“:讥讽斥责先朝,应当治罪,然而一直没有这种法律。今天应该立此法,让人们知道。”于是命令免去李邦礰的罪。
明昌四年(1193),张万公又请求辞职,皇帝授予他知东平府事,并告诉他说“:你在政府中,不是不称职,因为你母亲年老,乞求侍候赡养,特给你乡郡,以遂你的孝心赡养。朕的心意,你不要忘了。”张万公致谢,且捧着奏章说:“臣狂妄,有一句话想今天让你知道,会面结束就来不及了。内外的官职,担忧责罚不一,希望皇上考察此事。”皇帝高兴地接纳了。明昌六年(1195),张万公改任知河中府,当时军队兴盛。人们把张万公的像画在薰风楼里,又为他建“去思堂”。
张万公移守济南,因母亲去世离职。服孝完,皇帝诏用张万公,授予平章政事,破格升为资善大夫,封为寿国公。当时李淑妃受宠,皇帝想立她为皇后,大臣大多数认为不可以。御史姬端..上奏章讨论此事,皇帝发怒,御史大夫张日韦降官一级,侍御史路铎降官二级,姬端..打七十下,以抵偿他的讨论。李淑妃最终被进封为元妃。军队虽然休战,然而边疆的事情很多,连年干旱,天灾多次出现。又多次改变制度,以为不好又改过来,变来变去没有定下来。张万公一向深沉谨慎,致力于安定少事为准则,他与同事们议论多不一样,然而很害怕,不敢犯龙颜强谏,皇帝问到了,就视其利害而回答,皇帝虽然听从但却不施行。张万公于是两次奏章用衰老有病请求休假,皇帝下诏告诉他:“近来你说了几件事,朕未曾实行,这是朕的过错。你年纪不大,而急切请求休病假,现在赐给你两个月的假,然后继续出来工作。”
起初,即明昌年间,有司建议,从西南、西北路,沿临潢到泰州,开挖大壕堑用来防备大军,三万人劳役,几年未完成。御史台说“:开挖的壕堑不久就被风沙填平,对防御侵略没有用,而只是白白劳民。”皇帝章宗因旱灾,问张万公导致的原由。张万公用“劳民时间长久了,恐怕伤了和气,应该听从御史台的话,停止挖壕堑为益”做回答。后来丞相完颜襄军队还朝,又让开挖,对此百姓很受苦。主兵者又说“:连年征伐,军队多次失败,这大概是因为屯田地少,没法供给,到时免不了受饥寒,所以没有斗志。希望收回漏税的民田分给军队,那么战士的士气就会增加一倍。”当朝大臣议论已定,独有张万公上奏章说此事不可行,有五种原因,大意是:“战争刚结束,战争的创伤还未恢复,无暇抚慰老百姓,不可再打扰他们,这是一条原因。刚通检不久,田地有固定的户籍,一定不能全部收取,否则正好增长了狡猾官吏的弊病,长了邪恶之风,这是第二条原因。浮用奢侈的费用,不可胜计,用它来养军队,可以补充军费的不足,而老百姓也可充足,不需要去夺取百姓的田地,这是第三条原因。军队士兵没有选择,强弱没有分别,而让他们共同耕田吃饭,勤奋的人不能尽其力,疲弱的人得以允许他的奸猾,这是第四条原因。夺老百姓的田而给军队耕种,得了军心却失了民心,其祸患不可胜言,这是第五条原因。一定不能夺取百姓已经耕种的地,用已经收回的漏税田地,召唤百姓耕种它,用其收入的一部分供给军队,这样军队可坐收其利,而老百姓也没有被夺的怨恨。”这些都没被批准。一天上朝,皇帝章宗对张万公说:“你昨天说天下长时间阴暗,这也是因为人君用人邪正不分。君子应当在朝廷内,小人应当在朝廷外,很有道理,然而谁是小人?”张万公奏说“:张炜、田栎、张嘉贞等,虽有才干,没有德可称赞。”皇帝即命这三人到外地做官。
泰和元年(1201),张万公连上奏章请求养老,没被批准,升为荣禄大夫,赐其子进士及第。第二年,张万公再上奏章,皇帝下旨:“难道你所说的,朕有不听从的事吗?或者同事意见不统一,而多违背你的意愿?不然,为什么多次请求辞职。”张万公道歉说没有其他原因,只是因为有病。泰和三年(1203)正月,张万公再上奏章,未被允许,加为银青光禄大夫。三月,张万公列举朝中有名的人代替自己,皇帝知道不能挽留了,告诉他说“:朕刚即皇帝位时,擢你为执政,既而升为相位,因为你是先朝的老人,熟悉典章制度,朕很看重你。你年纪虽大但精力未衰,所以用政务来劳累你。因为你多次请求离职,所以尽力听从你,这不是朕的意思。”张万公加为金紫光禄大夫,后退休。
泰和六年(1206),南疆用兵攻打宋朝,皇帝认为山东是重地,一定得大臣前去镇抚它,先任的完颜守贞死了,于是特起用张万公知济南府、山东路安抚使。山东连年干旱蝗灾,沂、密、莱、莒、潍五州最厉害。张万公考虑人民饥饿必生盗贼,应当准备赈济。当时正兴兵打仗,国家不给费用,张万公于是上言乞求将僧道度牒、师德号、观院名额并盐引,交付山东行部,在五州变卖,换取粮食。又说督责有司禁止盗贼的方法。皇帝都听从了。宋朝人请求议和,张万公又请求退休,皇帝批准了,并加为崇进,仍然给他平章政事一半的俸禄。泰和七年(1207),张万公死。皇帝命令依照宰臣旧的制度,赠给财物安葬。赠为仪同三司,谥号文贞。
张万公纯厚刚正,家中没有不纯的客人,典章文物,多由他裁正。皇帝曾经与司空完颜襄说秋山之乐,意思是在春天打猎。皇帝回头看张万公,张万公说:“动不如静。”皇帝变了脸色而停止了。他辅正八年来,所推荐的人,多是廉洁谦让之士。大安元年(1209),张万公配享章宗庙廷祭祀。