董昭,字公仁,是济阴定陶(今山东菏泽)人。他被举荐为孝廉,先后担任瘿陶长、柏人令等职,后来袁绍任命他为参军事。袁绍在界桥迎战公孙瓒时,钜鹿太守李邵和郡里的官员们因为公孙瓒兵力强大,都打算投靠他。袁绍听说后,派董昭去担任钜鹿的长官。袁绍问他:“你打算用什么办法来治理呢?”董昭回答说:“我一个人的力量很有限,很难改变大家的想法。我打算先假装和他们站在一起,了解他们的意图,然后再根据情况灵活处理。具体的办法,到时候再说吧。”当时,郡里有孙伉等几十个有势力的人,他们专门挑唆人心,搞得官吏和百姓都很不安。董昭到任后,伪造了一份袁绍的檄文,宣布说:“我们抓到了贼军的探子安平人张吉,他供认贼军将要进攻钜鹿,钜鹿的前孝廉孙伉等人会响应贼军。凡是参与叛乱的,按照军法处置,罪不及家人。”董昭按照檄文的内容,将这些人全部处死。整个郡的人都惊恐万分,董昭随后依次安抚他们,局势很快稳定下来。事情结束后,董昭向袁绍汇报,袁绍非常赞赏他。
后来,魏郡太守栗攀被贼人杀害,袁绍又任命董昭为魏郡太守。当时魏郡一片混乱,贼人有几万人,他们还互相往来,甚至在集市上交易。董昭对他们表面上很优待,暗中却利用他们互相猜忌,趁机发动攻击,每次都大获全胜。仅仅两天时间,就连续三次向袁绍报告胜利的消息。
董昭的弟弟董访在张邈的军中。张邈和袁绍有矛盾,袁绍听信谗言,准备对董昭治罪。董昭想去投奔汉献帝,但在河内被张杨扣留。董昭借张杨的名义,向朝廷上书,辞去官职,被任命为骑都尉。当时曹操(太祖)担任兖州牧,派使者去见张杨,希望借道去长安。张杨没有同意。董昭劝说张杨:“袁绍和曹操虽然现在表面上是一家人,但这种关系不会长久。曹操虽然现在势力较弱,但他是真正的天下英雄,我们应该和他交好。何况现在正好有这个机会,应该帮助曹操上书朝廷,推荐他。如果事情成功,我们和曹操的关系就会非常深厚。”张杨于是帮曹操上书朝廷,推荐他为镇东将军,袭父爵费亭侯。董昭还替曹操写信给长安的将领李傕、郭汜等人,表达曹操的敬意。张杨也派使者去见曹操,曹操则送给张杨很多财物,双方开始往来。后来汉献帝迁都安邑,董昭去拜见皇帝,被任命为议郎。
建安元年(196年),曹操在许昌平定了黄巾军,派使者去河东。当时汉献帝从安邑迁回洛阳,但韩暹、杨奉、董承和张杨等人之间互相不和。董昭觉得杨奉的兵力最强,但缺乏支持,于是替曹操写信给杨奉,说:“我和将军久闻大名,仰慕您的义气,早就以诚相待。将军在艰难的环境中保护了天子,让他回到旧都,这样的功绩无人能比,真是令人敬佩!现在天下混乱,四海不安,天子的地位非常重要,需要大家共同辅佐。国家需要众多贤能之人来治理,这不是一个人能完成的。我们就像心腹和四肢一样,互相依赖,缺一不可。将军应该在朝中主持大局,我则在外面提供支持。我有粮食,将军有兵力,我们互相帮助,一定能共度难关。”杨奉收到信后非常高兴,对其他将军说:“兖州的军队就在许昌附近,他们有兵有粮,正是国家可以依靠的力量。”于是他们联合上表推荐曹操为镇东将军,袭父爵费亭侯。董昭也升任符节令。
曹操到洛阳朝见汉献帝时,带着董昭一起坐下,问道:“这次我来到这里,应该采取什么策略呢?”董昭回答说:“将军您兴起义兵来讨伐暴乱,入朝辅佐天子,这是像古代五霸一样的功绩。不过,您手下的将领们各有各的想法,不一定都愿意服从您。现在留在洛阳辅佐天子,形势上不太方便,唯一的办法就是让天子迁都到许昌。虽然朝廷刚刚迁回洛阳,百姓们都盼望着能安定下来,但如果再次迁都,可能会让大家失望。不过,要想成就非凡的事业,就必须采取非常手段。希望将军权衡利弊,做出明智的决定。”曹操说:“这正是我的初衷。不过,杨奉就在梁县附近,听说他的军队很精锐,会不会成为我的后顾之忧呢?”董昭说:“杨奉的势力比较孤立,他可能会选择投靠您。之前镇东将军和费亭侯的事情,都是杨奉促成的,而且他也多次表示愿意听从您的安排。您应该尽快派人送厚礼去感谢他,让他放心。您可以告诉他,洛阳没有粮食,希望天子暂时迁到鲁阳,鲁阳离许昌很近,运输粮食会方便很多,不用担心缺粮的问题。杨奉这个人虽然勇敢,但不太深思熟虑,应该不会怀疑您的意图。等使者往返几次,事情差不多就能定下来了。杨奉根本不会成为您的负担。”曹操说:“好主意。”于是立刻派人去见杨奉。
随后,曹操护送天子迁都到许昌。杨奉因此感到失望,和韩暹等人一起到定陵抢劫。曹操没有理会他们,秘密进攻杨奉在梁县的营地,迅速平定了局势。杨奉和韩暹失去了军队,只好向东投奔袁术。
建安三年(198年),董昭被升任为河南尹。当时张杨被他的部将杨丑杀害,张杨的长史薛洪和河内太守缪尚正在城中坚守,等待袁绍的救援。曹操命令董昭独自入城,劝说薛洪和缪尚等人投降。董昭顺利说服了他们,当天就率众投降。曹操于是任命董昭为冀州牧。
后来,曹操派刘备去抵御袁术,董昭提醒说:“刘备非常勇猛,志向远大,关羽和张飞又是他的得力助手,他的心思很难琢磨!”曹操说:“我已经答应他了。”刘备到了下邳后,杀死了徐州刺史车胄,起兵反叛。曹操亲自出征刘备,董昭则被调任为徐州牧。袁绍派大将颜良进攻东郡,曹操又调董昭为魏郡太守,随军讨伐颜良。颜良被杀后,曹操继续围攻邺城。当时袁绍的同族袁春卿担任魏郡太守,驻守在邺城中,他的父亲袁元长在扬州。曹操派人去迎接袁元长,董昭则写信给袁春卿说:“我听说,孝顺的人不会为了私利而背弃亲人,仁义的人不会为了私情而忘记君主,有志之士不会在乱世中投机取巧,明智的人不会走歪门邪道而让自己陷入危险。您的父亲当年为了躲避内乱,南下百越,并不是他疏远骨肉,而是因为他明白其中的道理。曹操敬佩他坚守志向、清正廉洁,所以特意派人去江东,把他接回来。您现在身处乱世,依靠的却是不正当的势力,接受的也是虚假的命令。如果您只顾自己,不顾父亲的安危,那就谈不上孝顺;如果您忘记祖宗所在的朝廷,去安于一个不正当的职位,那就谈不上忠诚。如果既不孝顺也不忠诚,那就谈不上明智。您过去曾经被曹操礼遇和征召,但您却背弃了他,远离了朝廷,背叛了知己,远离福运而走向危亡,抛弃了正义而蒙受耻辱,这难道不可惜吗?如果您能重新选择,奉养父亲,归顺曹操,那么您的忠孝之名就能永垂不朽。希望您好好考虑,早日做出明智的决定。”邺城平定后,董昭被任命为谏议大夫。
后来,袁尚投靠了乌丸的蹋顿,曹操准备去征讨他们。但曹操担心军粮运输困难,于是下令开凿平虏渠和泉州渠,通过水路运输粮食,这个建议就是董昭提出的。曹操上表封董昭为千秋亭侯,任命他为司空军祭酒。
后来,董昭向曹操提出了一个建议:“应该恢复古代的五等爵位制度。”曹操回答说:“建立五等爵位制度的是圣人,这可不是一般人能决定的,我哪有这个能力呢?”董昭说:“自古以来,臣子辅佐国家,没有人能像您这样建立如此伟大的功绩。有了这样的功绩,却还长期屈居人臣的地位,这是很难长久的。现在您虽然不愿意居功自傲,但您的品德和功绩已经超过了伊尹和周公旦,这是最高的德行了。不过,太甲和成王那样的明君未必能遇到,现在的百姓比殷商和西周时期更难以教化。您处于大臣的地位,却让人对您产生怀疑,这确实需要您慎重考虑。您虽然拥有崇高的威望和德行,但如果不为国家奠定稳固的基础,为子孙后代考虑,还是不够的。奠定基础的关键在于土地和人才,您应该逐步建立自己的势力,以巩固自己的地位。您的忠诚和节操已经显露无遗,天子对您的信任也显而易见。耿弇曾劝说光武帝不要轻易放弃权力,朱英也曾警告袁绍不要轻信他人。这些话您应该听进去。我受到您的厚恩,不敢不直言相告。”
后来,曹操接受了魏公、魏王的称号,这些都是董昭最早提出的建议。《献帝春秋》中提到,董昭曾和列侯、诸将商议,认为曹操应该被封为国公,享受九锡之礼,以表彰他的特殊功勋。董昭在给荀彧的信中写道:“当年周公旦和姜子牙在周朝鼎盛时期,依靠周文王和周武王的基业,辅佐年幼的周成王,他们的功绩如此显赫,仍然被封为上等爵位,拥有自己的封地。后来的田单,率领强大的齐国军队,为弱小的燕国报仇,收复了七十座城池,迎回了齐襄王。襄王对田单的赏赐也非常丰厚,让他在东边有掖邑的封地,在西边有菑上的产业。前人对功臣的赏赐如此丰厚。如今曹操在天下大乱之际,亲自披挂上阵,四处征战,栉风沐雨,将近三十年,消灭了众多敌人,为百姓除害,使汉室得以延续,刘氏的祭祀得以保存。和前面提到的几位功臣相比,曹操的功绩如同泰山和小土丘,根本不可同日而语。现在仅仅封他为列侯,这怎么能满足天下的期望呢?”
后来,曹操接受了魏公、魏王的称号,这都是董昭最早提出的建议。
关羽在樊城围攻曹仁时,孙权派使者来向曹操表示:“我准备派兵向西进攻,打算夺取关羽的江陵和公安。这两座城池非常重要,如果关羽失去这两座城池,他一定会撤军回援,樊城的包围自然就会解除。希望您保密,不要让关羽知道。”曹操询问群臣的意见,大家都说应该保密。但董昭说:“军事行动讲究灵活应变,关键是要符合实际情况。表面上应该保密,但实际上应该故意泄露消息。如果关羽听说孙权要进攻,他一定会回军自保,樊城的包围就会迅速解除,我们就能从中获益。这样可以让关羽和孙权两军相互牵制,我们可以坐收渔翁之利。如果保密,让孙权得逞,那就不是上策了。而且,樊城中的将士们不知道援军即将到来,可能会因为粮草不足而惊慌失措,甚至可能出现变故。故意泄露消息对他们也有好处。再说,关羽为人刚愎自用,他肯定认为江陵和公安守得很牢固,不会轻易撤退。”曹操说:“你说得对。”于是命令救援的将领徐晃把孙权的信射进樊城和关羽的营地。樊城中的将士们得知消息后,士气大增。关羽果然犹豫不决。孙权的军队到达后,占领了江陵和公安,关羽最终失败。
曹丕(文帝)即位后,任命董昭为将作大匠。曹丕称帝后,董昭被升任为大鸿胪,进封为右乡侯。两年后,曹丕把董昭的封地分出一百户,封给董昭的弟弟董访为关内侯,董昭则被调任为侍中。三年后,征东大将军曹休在洞浦口准备渡江进攻东吴,他上表说:“我愿意率领精锐部队渡过长江,直接进攻东吴。我打算从敌人那里夺取物资,这样一定能取得胜利。如果我失败了,也不用再挂念我。”曹丕担心曹休贸然渡江,于是派人骑马送去诏书,命令他停止行动。当时董昭在曹丕身边,他对曹丕说:“我看到陛下脸上有忧虑的神色,是不是因为担心曹休渡江呢?现在渡江是一件非常困难的事情,即使曹休有这个想法,他也不可能单独行动,肯定需要其他将领的支持。臧霸等人已经非常富有和尊贵,他们没有其他奢望,只希望安享晚年,保住自己的地位,怎么可能冒险去送死呢?如果臧霸等人不肯配合,曹休自己也会打消这个念头。我担心陛下即使下诏禁止他渡江,他可能也会犹豫不决,不会立刻服从命令。”没过多久,突然刮起大风,把东吴的战船都吹到了曹休的营地附近。曹休的部队趁机发动攻击,斩杀和俘虏了大量敌人,东吴的军队溃败。曹丕下令各军迅速渡江,但曹休的部队还没来得及行动,东吴的救兵就赶到了。
皇帝驾临宛城时,征南大将军夏侯尚等人正在进攻江陵,但还没有攻下。当时江水很浅,夏侯尚打算乘船带领步兵和骑兵进入江中的洲渚上安营扎寨,并搭建浮桥以便南北往来。许多人认为这样一定能攻下江陵。但董昭上疏说:“武皇帝(曹操)智勇双全,但在用兵时仍然敬畏敌人,不敢像这样轻率行事。一般来说,用兵的原则是宁进勿退。在平地上作战尚且艰难,更何况深入敌境后,撤退的路线必须畅通,否则进退两难。现在夏侯尚的军队深入洲渚,这是非常危险的;依靠浮桥渡江,更是兵家大忌;而且只有一条路线可供行动,这实在太狭窄了。这三点都是兵家最忌讳的,但夏侯尚却都做了。敌人不断攻击浮桥,万一出现失误,洲渚中的精锐部队就会陷入绝境,甚至可能被吴军俘虏。我对此深感忧虑,甚至寝食难安。然而,其他人却对此毫不担心,这难道不令人困惑吗?更何况江水即将进入汛期,一旦水位暴涨,我们该如何防御?即使不能攻破敌军,也应该先确保自己的安全。为什么要冒险而不感到害怕呢?事情已经非常危险了,希望陛下仔细考虑我的建议!”皇帝听了董昭的话后恍然大悟,立刻下诏命令夏侯尚等人迅速撤退。敌人从两头同时进攻,而我军只有一条路可以撤退,形势非常危急。幸好将军石建和高迁带领部队勉强脱险。军队撤出后不到十天,江水果然暴涨。皇帝感慨地说:“你的分析真是太准确了!即使是张良和陈平这样的谋士,也比不上你啊!”五年后,董昭被封为成都乡侯,担任太常。同年,他又被调任为光禄大夫、给事中。后来,他跟随皇帝东征,七年返回后,被任命为太仆。明帝曹睿即位后,董昭的爵位被提升为乐平侯,食邑一千户,改任卫尉。他还分出一百户食邑,封给他的一个儿子为关内侯。太和四年,董昭暂代司徒职务,六年正式被任命为司徒。
董昭上疏皇帝,指出当时社会风气的弊端,说:“凡是一个统治天下的君主,无不崇尚朴实、忠厚、诚信的人,而痛恨那些虚伪不实的人。因为虚伪的人会破坏社会的道德教育,扰乱国家的治理,败坏风俗,损害社会的文明。最近,魏讽在建安末年被处死,曹伟在黄初初年被斩首。我看到陛下前后多次下诏,痛恨虚伪的风气,想要打击邪恶的朋党,对此深感痛心,但执法的官员们都畏惧这些人的权势,没有人敢于揭发和纠正,结果社会风气越来越坏,人们的欲望越来越强。我看到现在的年轻人,不再以学习知识为根本,而是以结交朋友为职业;有才能的人不再以孝顺父母、清廉自守为首要,而是以追求名利为先。他们结党营私,互相吹捧,把诽谤当作惩罚,把党同伐异当作奖赏。对附和自己的人,就大加赞赏;对不附和自己的人,就故意找茬。甚至有人互相说:‘现在还有什么可担心的呢?只要善于交际,人脉广一些,还怕不能过上好日子吗?又何必担心别人不了解自己呢?只要用甜言蜜语去讨好别人就行了。’我还听说有人让自己的奴仆或门客冒充在职官员的家属,随意出入禁地,传递书信,打探消息。所有这些行为,都是法律所不允许的,也是刑罚所不能宽恕的。即使像魏讽、曹伟那样的罪行,也比不上这些人。”皇帝于是下诏严厉斥责,免去了诸葛诞、邓飏等人的官职。
董昭在八十一岁时去世,被追封谥号为“定侯”。他的儿子董胄继承了他的爵位。董胄后来担任过郡守和九卿等职。