董宣,字少平,陳留(郡名,治所在陳留,今河南開封市東南)圉(今河南杞縣南)人,出身微賤。最初被司徒侯霸征辟,專門負責評定一些地方官吏們統治政績和優劣。這期間他工作努力,不徇私情,受到上級主管的好評,於是被任命為北海相。他所管轄的這個地區,有些豪強地主魚肉鄉民,欺壓百姓,殘害無辜,無惡不作。他決心改變這種混亂局麵,使當地人安居樂業。
當地有個很有權勢的豪富大戶,名叫公孫丹,是一個武官。此人一貫作威作福,當地人迫於他的地位和權勢,都敢怒不敢言。公孫丹花了很大一筆錢,建造了一座相當豪華的住宅。但有位風水先生說,這座深宅大院,沒福氣的人住不得;有福氣的人住進去,也得先死一個。但又說,有辦法補救。當時迷信認為,可以先找一個替身衝掉那股喪氣。目無法紀、殘忍歹毒的公孫丹當下就叫他兒子殺死一個過路人,把屍首抬進新屋,以免自家人遭殃。董宣得知這件事後,很是生氣,立即派人將公孫丹父子捉拿歸案,詳加審問,依法判處公孫丹父子死刑,為無辜的死者申冤報仇。當地老百姓拍手稱快,都認為董宣為他們做了一件大好事。但公孫丹乃一方豪強惡霸,家丁眾多,當下他們親戚、家丁、死黨帶著30多人,手執兵器利斧直奔相府前鼓噪威脅。董宣毫不畏懼,率府兵擊退了他們。後他又查出這幫家夥曾參與王莽陰謀篡權活動,並與海盜勾結為非作歹,殺人越貨,便毫不猶豫地命令部下水丘岑將他們逮捕法辦,一並殺之,以絕禍患。
可是董宣的上司青州太守,不問青紅皂白,以濫殺無辜的罪名將董宣、水丘岑等判成死罪。董宣更加氣憤,在其上司麵前絲毫也不示弱,據理痛斥。臨刑前,執刑官讓他飽餐一頓,董宣厲聲說:“董宣生平未曾食人之食,況死乎!”毫不畏懼,上車而去。一同斬首的有9人,剛輪到他時,正好光武帝劉秀派專使來了解這件事的經過,便命令把董宣帶回牢獄。在獄中,董宣義正詞嚴地向特使陳說了事情的真相,以鐵的事實駁斥了對他的誣蔑,並且大義凜然地說:“公孫丹的案於是我辦的,水丘岑隻不過是執行我的命令而已,他沒有責任,要殺就殺我吧。”光武帝知道後,很受感動,覺得董宣是個難得的人才,便赦免了董宣和水丘岑,並將董宣調到京都洛陽,任洛陽令。
皇城腳下,為官哪能輕鬆。董宣到任後不久,便遇到了一件更為棘手的案子:原來,湖陽公主有個管家,一貫狗仗人勢,橫行霸道,這一次竟敢在光天化日之下無故殺人,這還了得!當下吩咐部下去抓。可是這家夥卻躲在公主府裏不出來,而洛陽令隻不過是一個小小的官職,哪能擅自進入侯門,更不用說要進去抓人了。董宣平時就聽說過湖陽公主的厲害,知道事情很難辦,但董宣決不罷休,等待時機,一定要為死者鳴冤抱屈。董宣也著實費了不少心事,叫人整天守在公主府門口,並派人收買公主府中的奴仆,打探公主的行蹤。終於,機會來了。
一天,董宣得知湖陽公主要出遊,而且那個殺人凶手也跟著出來。於是早早地等候在路上。果然,遠處一簇儀仗車馬奔夏口亭而來,很是排場威風,原來是湖陽公主乘車來了,那個家奴也坐在車上。等公主的車馬一到,董宣便仗著劍,跑上前去,攔住馬頭,並且以刀畫地。湖陽公主見停了車,便詢問出了什麼事,馭者說是洛陽令董宣攔阻馬車。湖陽公主見一個小小的縣令敢攔她的車駕,怒問道:“大膽董宣,為何攔阻我的車駕?你知道你犯了什麼罪嗎?”董宣聞言,氣不打一塊兒出,當著公主的麵,說她的管家犯了殺人死罪,現在就得逮捕依法懲辦,並厲數公主庇護殺人凶手的罪行。公主大怒,不僅拒絕交出她那個管家,反而責罵董宣無禮。董宣責備公主不該放縱家奴殺人犯法,並且大聲嗬斥那個殺人凶手,罵畢,喝令那個管家下車,當場依法處決。周圍圍觀的人很多,都感到董宣為百姓出了口冤氣。
湖陽公主哪裏受過這般氣,小小縣令竟敢當著自己的麵處死自己的家奴,真是又羞又氣又急又惱,急忙命令馭者駕車徑直朝皇宮奔去,向自家兄弟光武帝告禦狀。很快便趕到皇宮裏,湖陽公主便向光武帝哭訴董宣如何欺負她,牙齒咬得“格格”直響,恨不能一口咬死董宣,以泄心頭之氣。光武帝一聽董宣這樣不講情麵,把自己姐姐氣成這樣,大怒,立即下詔令董宣上殿麵聖,要把董宣當著姐姐的麵:“箠殺之”,就是用竹板條打死董宣。
董宣知道自己闖了大禍,但他並沒有被嚇倒,上得殿來,鎮定自如,從容地走到光武帝麵前,說:“陛下要打死我,我毫無怨言,不過臨死前要讓我把話說清楚,這樣我死也瞑目!”光武帝仍在氣頭上,怒氣衝衝地說:“大膽狂徒,竟敢對公主這般無禮,你有什麼說的,快說!”董宣慷慨激昂地說:“陛下向來以德為本,聖德賢明,勵精圖治,使漢室得以中興。可是皇姐縱容家奴隨便殺害平民百姓,百姓不滿,天理難容!如此無視國法,而陛下卻千方百計予以包庇,這不是縱容犯罪嗎?陛下將憑什麼治理天下呢?我忠心為國為民,沒有罪過,不能受刑,清陛下允許我自殺!”說完便昂頭向盤龍柱碰去,頓時鮮血四濺,董宣血汙滿麵。