道光初年,孫興橋就任盤山知縣。剛剛到任的第二天清晨,孫興橋就接到報案,説烏衣巷出了一樁人命案,孫興橋率衙中眾人以最快的速度趕到案發現場。死者頭髮散亂,是一個年過50的婦女,胸口和肋間被刺三刀,血流遍地。
死者右手食指的指甲縫裏,嵌着一小塊肉皮。察看四周,除了三步外扔着一個籃子外,並沒有發現別的東西。翻開籃子,只見裏邊有一把鋒利的鐮刀和一條繩索。從潮濕的地面隱約可見幾個印着血跡的腳印根據腳印的方向,是向烏衣巷內跑去的。
地保一看屍體,當即認出死者就是巷內的張氏。再一看地上的籃子和那把鐮刀,竟是巷內給人家當小夥計的拴牢的。這時來了一個十八九歲的姑娘,撲在屍體上號啕大哭起來。眾人看是張氏的女兒姝兒。張氏還有一個兒子叫蘇城,是個五穀不分的浪蕩子。孫縣令很快調查清楚了鐮刀是小夥計拴牢的,於是便帶人趕往拴牢家。拴牢家的大門緊閉,費了好大的勁拴牢娘才把門打開。此時的拴牢躺在牀上,渾身哆嗦,臉色如死灰。無論孫興橋怎樣問話,拴牢目光呆滯,就是不説話。
此時,衙役們在屋內的木盆裏發現了血衣和屋角一雙帶血的鞋。孫興橋見狀,吩咐將拴牢鎖住,拴牢見鎖鏈套在了自己的脖子上,擋下一熱,褲子就濕了。拴牢娘説:“大人,拴牢自幼膽兒小,他和張氏無怨無仇,怎麼會殺他呢?請大人明察。”緊接着,拴牢娘説出了事情的前因後果:
拴牢是街上孫家鹽行的夥計,負責給孫掌櫃喂他的那匹白馬。白馬喜歡吃帶露水的青草,因此每天上午拴牢都回去割青草來喂白馬。今天上午,拴牢出去還沒有一袋煙的功夫就跑了回來,身上都是血跡。他一回到家就哆嗦着鑽進被窩裏不説話,拴牢娘見狀就將他帶血的衣服鞋襪脱下泡在盆裏。孫興橋聽罷,有問了拴牢幾句話,拴牢依舊一言不發,孫興橋只得將他帶到衙門。拴牢被帶走,一時間人們紛紛傳言拴牢殺了人。
三天之後,一個30歲左右的男子來到縣衙,請求孫興橋給他做主,來人正是被害人張氏之子蘇城。蘇城説自己剛從朋友家回來,就聽到了母親被害的消息,於是跑來請求孫縣令為他做主。孫興橋只得安慰蘇城一番,將他送出縣衙。
蘇城走後,孫興橋陷入了沉思,拴牢依然一言不發,他到底在害怕什麼呢?孫興橋是出了名的斷案能手,憑着多年的斷案經驗,他斷定拴牢不可能是殺人兇手。原因主要有三點:一是鐮刀上並沒有一絲血跡,刀背上還可以找到一兩絲乾枯的水草,顯然這把鐮刀是割水草的如果兇犯曾用它殺人,血跡肯定會將水草染污,而鐮刀上的水草還是綠色的,由此看來這把鐮刀不是殺人兇器。死者是被人刺死,從傷口的形狀來看,也非鐮刀所致。
第二點是從拴牢家搜出的血衣也有破綻。血衣雖然被水浸泡過,但仍能看出主要血跡是在袖口,而大襟上卻沒有血跡從袖口的血跡上看,又好像是蹭上去的,而兇手殺人一股是尖刀刺入後,被對方傷口噴出的血液濺髒衣物,按常理,血跡應在大襟及胸前。對那雙沾過血的鞋子,鞋底上滿是血污,而鞋面上卻沒有血跡。很顯然,是拴牢雙腳踩在血泊裏染上的。
第三,如果拴牢真的殺了人,怎麼會把籃子扔在現場?再愚蠢的案犯也不會幹出這等傻事來,更何況他與被害人張氏從來沒有仇怨,怎麼會突然下此毒手?另外,死者右手食指的指甲縫裏,竟然嵌着小塊肉皮,看樣子死者曾和兇手搏鬥過。初步斷定,這塊皮肉是從兇手的手上或者脖子上挖下來的,由此可知拴牢絕不是兇手。
當天中午,張氏的女兒姝兒前來告狀,説殺害母親的是哥哥蘇城。姝兒説,哥哥遊手好閒,常去賭博,家中被他賭得幾乎斷了炊。最近,他老纏着娘欲將她的賠嫁拿出來換點銀子,被娘斥罵了好幾回。今天早上,娘被害,姝兒在家守靈,不久哥哥便回來了,臉上帶着不可捉摸的神色,見了母親的靈柩並不悲慟,只看了一眼後就匆忙進到自己房中去了。
姝兒心中疑惑,想起了昨夜母親勸哥哥的情景,也想起了哥哥曾向母親討要首飾變賣的事,便趕緊打開母親的妝奩盒,發現裏邊的首飾不見了。於是,她就斷定是哥哥盜首飾殺了娘,而拴牢僅僅是做了替死鬼。
孫興橋馬上吩咐衙役査詢了城中的十幾家當鋪。果然,有家當鋪內發現了首飾的當單存根。當單的日期恰好是在張氏被殺的第三天,當主就是蘇城。難道兇手真是蘇城?衙役們立刻將蘇城抓到堂前,但是孫興橋如何詢問蘇城,蘇城卻一口咬定沒有因為賭博弒母。蘇城哭着對孫興橋説,首飾的確是他偷的,他也因此和母親吵過,但他絕對沒有殺害自己的老孃。
蘇城説那天晚上他偷了首飾後,被母親發現了。母親當即追了出來,蘇城説首飾已經當了,孃兒倆大吵了一架後,母親哭着走了。但是第二天就發現她死在了烏衣巷口。
孫興橋在蘇城身邊繞了兩圈,發現他的手上、脖子上並沒有傷痕,於是將他投入大牢,等候發落。蘇城也可能不是兇手,那兇手到底是誰?孫興橋陷入了沉思,案情再次陷入死衚衕,孫興橋思考一番後決定喬裝打扮去走訪一下。
第二天,孫興橋化裝為一個遊方郎中,來到烏衣巷最熱鬧的茶館一品香。在茶館裏,各種各樣的人聚集在這裏喝茶,蘇家發生了命案,這是茶客們聊得最多的話題。從茶客們的嘴裏,孫興橋瞭解到,姝兒原來不是張氏親生的,而是二房的小妾所生。前幾年,姝兒的母親和蘇家老爺在一場瘟疫中死去,姝兒便和大娘張氏、哥哥蘇城一起生活。
張氏對兒子蘇城的婚事一直不滿,為此還不止一次罵過姝兒。為何罵姝兒呢?原因是城南有一劉姓大户願意將女兒嫁給蘇城,但條件是讓姝兒嫁給女方的哥哥,女方的哥哥瞎了一隻眼睛,精神還有點問題。只有這個條件,別人才答應。但是姝兒不願意嫁給一個獨眼龍傻子,不同意換親。傳言姝兒與城南綢緞莊的夥計王英關係私密,在張氏被害的前一天晚上,有人看到王英淚流滿面地從蘇家走出來。蘇興橋聽到這裏,心中明白了八九分,當即返回了縣衙。
兩天後,孫興橋再次升堂,審理張氏被害一案。圍觀者迅速將縣衙圍得水泄不通。拴牢和蘇城被帶到了堂前,令眾人沒有想到的是,孫興橋當眾宣佈這二人無罪。就在眾人面面相覷之時,孫興橋拍驚堂木,“殺害張氏的兇手就在你們當中!”衙役衝進人羣,將姝兒和王英帶到了堂前。
孫興橋説:“大膽王英、姝兒,還不快快跪下!”王英忙喊冤枉,孫興橋冷笑道:“王英,我來問你,你脖子上為何包得嚴嚴實實?”王英忙説,是他身體有些發燒,所以就圍上了圍脖。“要我看是脖子上被人抓撓了,怕被人知道了吧?”孫興橋走上前去,一把扯住了他的圍巾,又猛地一把把圍巾拉下來,發現他的脖子上恰有一塊傷疤。
孫興橋猛地大喝一聲:“王英,你脖子上的傷疤哪裏來的?”王英結結巴巴地説:“是我不小心刮的”。孫興橋喝道:“張氏指甲裏有一塊肉皮,和你脖子上的傷疤一模一樣!五天前的晚上,你為什麼哭着離開蘇家?另外,你屋子裏有帶血跡的衣服,還有這殺人用的刀。這下,你該招了吧?”
説罷,孫興橋將一把帶血的尖刀丟在王英面前,這把尖刀是在綢緞莊裏搜到的。王英見狀,只得承認了殺害張氏的罪行:
原來,王英和姝兒早已經私定終身,但張氏為了兒子蘇城的婚事,要姝兒嫁給城南劉大户家的獨眼龍傻兒子。姝兒自然是一萬個不願意,她將此事告訴了王英。王英見狀,於是到在五天前的一個傍晚來到蘇家,請求張氏成全他和姝兒,讓姝兒嫁給他。張氏嫌王英家窮,也為了兒子的婚事,自然不肯答應王英,當即將他罵了個狗血淋頭。王英在當天傍晚哭着離開了蘇家。
第二天深夜,姝兒跑來告訴王英,蘇城偷了張氏的首飾去買,在烏衣巷口母子大吵一番。王英聽後來到烏衣巷口,果然看到蘇家母子在吵架。蘇城完全不理會張氏,離開了烏衣巷口。王英來到烏衣巷口後,並沒有立刻殺死張氏,他跪在張氏面前再次懇請她將姝兒嫁給他,為了能幫蘇城結婚,王英答應將家產變賣送給蘇家。
但王英家窮,即使變賣家產也不如城南劉姓大户人家條件好。張氏再次辱罵了王英,並罵他一輩子休想和姝兒在一起,癩蛤蟆想吃天鵝肉,窮鬼也想攀高枝。王英聽罷,再也忍不住心中怒火,姝兒不是張氏所生,卻要犧牲她的幸福換取親生兒子的婚姻,王英隨即拔出匕首(王英在綢緞莊當守夜人,身上帶着匕首)刺中了張氏,張氏身手抓掉了王英脖子上一塊皮肉,王英再兩刀刺死了張氏。
殺了張氏之後,王英很是害怕,姝兒告訴他不用怕,於是第二天姝兒便將蘇城告上衙門,嫁禍給蘇城。第二天清早,拴牢出門割草,來到烏衣巷口看到了被殺害的張氏,慌亂之中踩到了地上的血,拴牢膽小,嚇得將鐮刀和籃子丟在現場,跑回了家中。於是這才有了文章開頭的那一幕。
王英與姝兒因張氏不同意二人的婚姻,合謀殺死了張氏,又嫁禍給蘇城,險些造成拴牢、蘇城當了替死鬼。但二人殺人的動機,又是被激怒殺人。二人原本並非窮兇極惡之徒,事情皆因張氏不同意婚事、辱罵王英而起,站在王英與姝兒的角度,二人的遭遇也值得人同情。
孫興橋破了烏衣巷殺人案,但在判決時卻猶豫了。殺人償命,自古天經地義,但面對姝兒和王英,他又不忍心將二人處死。反覆思考之後,孫興橋在判決時將“蓄謀殺親”,改為“失手殺人”。最後,王英被判杖刑30,徒20年,發配邊城為戍邊軍人效勞。
幾天之後,王英被押往邊城。王英走後,姝兒也在縣裏消失了,有人説她跟着王英去了邊城,幾年后王英在戰場上立功免刑,二人在邊城結婚生子,一直老死邊疆,再也沒有回過盤山縣。