賭博到傾家蕩產的馬三想找結拜的大哥賈大借點兒錢做小生意過冬,賈大顧左右而言他推諉半日才說讓馬三先找兩人的結義兄弟悶二再說。馬三此前借錢給悶二尚未催討,聽賈大言之有理,于是告辭賈大到了悶二家。悶二的債主將他家圍得水泄不通,根本無力償還馬三的欠款。見馬三為難,悶二悄悄讓他第二天四更天到西四牌樓磚塔胡同幫自己做筆生意,酬勞歸馬三。
馬三答應下來即往家趕,路上經過一棵矮樹,上有吊死尸首。馬三趁人不備把尸首的帽子取下戴上,到家隨便吃了晚飯歇下。似睡非睡間,馬三聽到院子有人嚷“把帽子給我!”,嚇得夠嗆,趕緊抓起帽子往屋外一扔。好容易熬到四更,馬三起床去赴悶二之約,再路過那棵樹,帽子好端端套在尸體頭上。
馬三不敢多想繼續趕路,快到磚塔胡同時和一個挑水的小伙計撞了滿懷。兩人嘟囔幾句,各自走開。小伙計是水鋪掌柜雇傭的小工小力笨兒,按掌柜吩咐往人家送水,到了這家把水缸灌滿后,小力笨兒隔著房門問主人如何付錢,無人應答。小力笨兒挑著空桶推門而入,邊進門邊喊著“大爺!大奶奶!起床了沒有哇?”,直直走到了廳堂,窺見臥室床上躺著穿繡花睡衣的女人,脂粉香氣直沖鼻孔。小力笨兒起了淫心,頭往臥室探,沒注意身后出現一人。那人手上提著兩顆血淋淋的人頭,趁小力笨兒不注意,把人頭往他的空桶里一扔,隨后喊道:“誰啊!”
小力笨兒嚇了一跳,回頭看見陌生男人,以為是主人家把自己隨便闖入人家抓了個正著,也沒注意桶中重量增加,慌不擇路挑著桶就逃了出去。小力笨兒好容易回到水鋪,順手把兩只桶扔在窗邊,扁擔立在床邊,睡回籠覺去了。
頃刻水鋪掌柜起身,見小力笨兒睡著,兩只桶隨地放著,剛想把桶疊好,卻見桶邊有紅色液體,更走近一看,桶中赫然兩具人頭。掌柜轉身把門掩上,尋思小力笨兒不可能殺人,必是有人栽贓往桶里丟了人頭。掌柜不想花錢打官司,暗想不如自己也陷害別人好從麻煩脫身,正好把人頭送給和自己不對付的隔壁油鹽店山西掌柜。
小力笨兒原是水鋪掌柜的上門女婿。掌柜的夫婦只有一獨生女,犯有癲癇,盼著招個女婿上門養老,小力笨兒和掌柜的是同鄉,受雇挑水后順理成章成了準女婿,只等著掌柜夫婦百年繼承家產。誰想小力笨兒和掌柜女兒拜天地當日,掌柜女兒離世,掌柜的和小力笨兒談話,取消之前的婚約,要小力笨兒回到以往小工的身份。自此小力笨兒和掌柜的起了齟齬。
這回掌柜見小力笨兒送水帶回人頭,更加不滿,推醒小力笨兒問其要收的水錢。小力笨兒匆忙逃走,忘了收錢,正支吾著被掌柜的劈頭一掌,兩人扭打起來。掌柜的順手舉起桌上的菜刀,揪住小力笨兒,一刀下去,死尸倒地。掌柜的一不做二不休,把小力笨兒的頭砍下,在地上磕了幾下讓其面目模糊。
水鋪掌柜帶著小力笨兒的頭和之前的兩個人頭出門,見四下無人,把人頭掛上隔壁屋梁,旋即返家把小力笨兒的尸身扔進自家枯井,把桶沖洗干凈,就等天光大亮油鹽店掌柜被官廳發現人頭。
這邊油鹽店掌柜剛起床,喚醒還在睡覺的外甥二娃子把店的幌子掛上,準備開店。二娃子迷瞪瞪走出店門,一抬頭看見三個人頭。聽到外甥驚叫走到門邊的油鹽店掌柜看見人頭心里飛轉:是誰要害我?萬一被官廳發現打官司可得花不少錢。掌柜的叫二娃子趕緊把頭取下帶回屋里,兩人隨后把兩男一女三個人頭扔進后院醋缸。女人掌柜的和二娃子都認識,是附近的小寡婦白芍藥,平素穿著孝服四處勾搭,名聲不好。兩男一個禿頭,另一個滿臉是血,似曾相識。
油鹽店掌柜見外甥神情恍惚,打發他回了山西老家。水鋪掌柜等到快晌午也沒聽到外面吵嚷,出門看見一切如常,油鹽店屋梁上人頭不見,暗自納悶。
油鹽店和水鋪的人頭暫且按下不表,說回和小力笨兒錯身而過的馬三。馬三到了磚塔胡同,左等右等不見哥哥悶二,心想悶二素常給人辦白事,胡同里卻不見誰家掛著挑錢紙。馬三在胡同里溜達找到一家房門虛掩的人家,進了門,卻正是小力笨兒送水那家。
他在院子里叫著“二哥!二哥!”,不妨突然沖出一人,手舉明晃晃大刀就向他砍來。馬三迅速躲開,掏出藏身的匕首一扎,正中那人前心。那人還要掙扎,馬三干脆奪下他手中大刀,反手一砍,剁下那人人頭,又把尸體挪回堂屋。
馬三提著人頭進房尋人,見臥房床上躺著人,掀起被子一看,床上一男一女都沒有人頭。
馬三心說此地不可久留,四下一看,院子里的咸菜壇可以藏人頭。他走過去掀開壇蓋,里面臉沖上還有一個人頭——悶二。馬三一愣,把壇蓋蓋回,進屋找了衣服換下自己身上血衣,又隨手找了布料把自己殺死那人的人頭裹好,帶著離開。
馬三路遇舊相識,敗家子兒大老苗。大老苗傾家蕩產收集文物古玩,見馬三手中包袱,以為是得了好物什,欲向馬三買下,被馬三匆匆打發。
馬三回家把包袱往柴房一扔,換下全身衣物泡入水盆,心神初定。次日清早馬三打算先回殺人那家探情況,再去查看哥哥悶二家中,如果兩廂無事,即返家處理人頭。磚塔胡同一切如常,馬三正準備前去悶二家,這時背后被人一拍,轉頭一看是老相識王小奇。
王小奇父原是京官,為他攢下豐厚家產,不想王小奇終日吃喝嫖賭,在妓女黑銀耳處耗盡錢財,此后耍混寄住在妓院。王小奇還欠著馬三銀錢多年未還。
馬三又到悶二家,債主仍將悶二家圍了水泄不通,只不知悶二已經身首異處。待馬三回到家中,只見桌上擺著一頂帽子,卻正是他偷了又扔那頂死人帽子。馬三幾乎背過氣去,戰戰兢兢拿起帽子,下面放著一張紙條,上書:“你做的事我都知道,今天四更把你拿回來的包袱帶到樹下,保你無事。”
馬三既已身負人命,再無可懼,一咬牙在磨刀石上把匕首磨得鋒利,等到四更懷揣匕首帶上包袱出了門。到地馬三先把包袱擺在吊死人的樹下,又找了棵百年老樹藏在樹后,影綽綽從遠處走來一人,在離樹約六七米處站定,四處打量,確認周圍無人才走到那棵樹下,見到地上包袱不由眼冒精光,樂出了聲。那人兩下拆開包袱,看見人頭驚得愣住,馬三掏出匕首竄到近前,那人乃是熟人王包達。
王包達也是一個不務正業的主兒,欠了一屁股債。一日被債主看上他的媳婦兒,假意送錢拉攏,實要奸他妻子。王包達拿人的手軟,竟就配合離家給債主騰地方。媳婦兒察言觀色早知有異,便在袖中偷藏匕首,待債主進門欲要求歡,一刀刺傷債主。王包達此后被債主逼得不敢回家,終日游蕩。馬三看見死人帽子那日,王包達其實也動了拿帽子的心,不想被馬三搶先。王包達尾隨馬三到家,裝死鬼在他家外索要帽子,又把馬三扔出的帽子戴回死人頭上嚇唬馬三。
馬三拎著人頭包袱又被王包達看見,王包達以為馬三發了橫財,想訛一筆,便把死人帽子放入馬三家中,假借死人之口要分贓物。王包達沒料到包袱里沒有錢款,只有人頭。馬三不能讓知曉自己殺人的王包達留在人世,一刀殺了王包達,砍下人頭,把死尸往旁邊溝中一甩,帶著包袱里的人頭和王包達的人頭回了家。
馬三心神不寧,每日早晨出街探消息,這日看到官府張貼告示,稱金葉寺的小和尚蜜罐兒丟了,老和尚心痛不已,因而尋人。水鋪掌柜和油鹽店掌柜也看到告示,各自心驚,水鋪掌柜往油鹽店掌柜屋梁上掛的三個人頭就有一個禿頭,難不成是這個和尚蜜罐兒?
油鹽店掌柜第二日一早發現門口又被掛了人頭,他認出是街坊塔二的人頭。掌柜的熟門熟路,把人頭取下,扔進醋缸了事。同一日金葉寺老和尚前往塔家探望掛名徒弟塔二,發現塔家家門未鎖,院子地上一具無頭死尸。
塔家父母雙亡,就兄弟兩,塔二比哥哥塔大小了不少,從小被哥哥塔大和嫂子拉扯大,一家三口度日。
死尸雖無腦袋,老和尚根據身形認出死尸正是塔二。喊聲驚動四鄰,官差上門。仵作和捕頭在院里看見老和尚認作塔二的無頭男尸,進屋又看見第二具無頭男尸倒在堂屋地上,臥房床上尚有一男一女兩具無頭尸。捕頭要老和尚進門確認死尸身份,老和尚掙扎不愿進屋,人往后一仰,胳膊蹭到咸菜壇,正好推開壇蓋,現出悶二頭顱。
仵作細心查看,在柴房柴火堆下找到一具無頭男尸。(塔家共有四男一女五具無頭尸和一個男人頭)。
鄰里反應可能死在床上的女人是塔家嫂子。捕快去塔家嫂子娘家報信,見到好端端活著的塔嫂子。娘家哥哥屠戶李大成陪著塔嫂子回家認尸,塔嫂子一眼認出門口男尸是小叔子塔二,堂屋地上的男尸是丈夫塔大,但對家中究竟發生何事毫無頭緒。
捕頭向塔家嫂子詢問是否與丈夫發生過爭執,塔嫂子回憶自己十五歲嫁到塔家,和丈夫合力把小叔子塔二撫養長大,多年來三人和睦,直至最近籌劃塔二親事,有好事之人散布謠言,稱自己與塔二有染。塔大聽信讒言與妻子爭執,一怒之下奪門而出。塔嫂子在家傷心,這時塔二回家,聽嫂子講述事情經過不由氣惱,花錢為嫂子雇車送她回了娘家。
此后塔家嫂子一直住在娘家,只和母親和哥哥李大成抱怨過塔大。
仵作見到屋內一個小茶葉罐,悄悄收起。扔得滿地都是的衣物下,有一雙灰色僧鞋,仵作想起金葉寺走失的小和尚蜜罐兒,派捕快趕赴金葉寺調查。老和尚認出那雙鞋是徒兒蜜罐兒的,認定蜜罐兒已經遇害。幾天前塔二到金葉寺和師傅講哥哥塔大懷疑自己和嫂子不清不楚,老和尚安慰塔二,讓他回家和塔大好好談談。塔二搖頭說暫時還不能回家,因為自己出門前碰見寡婦白芍藥,對方言語輕薄,還告訴塔二等他回家自己要去和他幽會。塔二無法,在金葉寺過夜,第二天一早蜜罐兒已經不在寺中。
老和尚猜測蜜罐兒聽到自己和塔二的對話,私自離寺去塔家和白芍藥茍且,誰知遇歹人所害,塔家床上尸身必是蜜罐兒和寡婦白芍藥。
仵作驗出塔二后心中刀而死,應為人從身后所殺。捕快搜尋李大成的肉鋪,在地上找到一條腰巾,經塔嫂子驗證為塔二所有。
捕頭懷疑見到塔家眾多尸首毫無驚慌之色的李大成與兇案有關,傳他上堂受審。縣官和顏悅色詢問李大成是否聽塔嫂子說起自己受的委屈,心中不忿于是去塔家殺人替妹妹報仇。李大成被堂上棍棒威嚇,交待自己連夜帶著殺豬刀趕到塔家,只見一人背對臥房門看著床上兩具死尸。李大成以為妹夫塔大行兇,手中屠刀一舉,那人應聲倒地。李大成見床上二人無頭,剛被自己殺死的那人也并非是塔大,于是效法砍下那人人頭,往院里的咸菜壇一扔,再把死尸藏入柴房,之后回家,與母親和妹妹假稱自己沒有見到塔大,塔家無事發生。
李大成殺了人心里有事,睡到凌晨四點又去了趟磚塔胡同塔家,不想在堂屋地上見到新的死尸,愣住。正巧塔二從金葉寺夜宿返家,見到李大成和堂屋地上的死尸,死尸身上穿著的卻是自家哥哥塔大的衣物。李大成辯解稱自己也是剛到,并不知發生何事。塔二邀李大成一道去官府報案,李大成假意應允,卻不想鬧上縣衙,令自己殺人之事暴露,他跟在塔二身后走到院中,從身后將塔二捅死。
捕快把口供交給李大成簽字畫押,縣官下令將其釘肘收監。李大成剛被推下大堂,衙役領上一喊冤老婦。老婦自稱是李大成之母,有塔大殺人的證據。原來塔大媳婦兒回娘家當晚,李大成聽了妹妹敘說趕去塔家為妹妹出氣,李大成出門后,塔大在李家院外罵街,讓街坊鄰居來看李家養的好閨女。李母和塔大媳婦應聲開門,見李大成手中兩個包袱還在滴血。李大成見到媳婦兒好好站在面前,突然一呆,只讓李母和媳婦兒不要與外人提起自己到過之事,轉身離開。
仵作又帶捕快去塔家查看線索,發現家中水缸是滿的,料想李大成兩次殺人之間必有水鋪上門送過水。鄰居大媽指認附近都由山東掌柜的水鋪供水,仵作遂趕赴水鋪,讓水鋪掌柜的認他在塔家尋得的茶葉罐,水鋪掌柜的提供線索稱此物應為油鹽店所有。
仵作又問水鋪掌柜的是誰負責送水,掌柜的謊稱送水的小力笨兒在塔家出事前就自行離開,卻無法解釋小力笨兒離開后誰送的水。捕快于水鋪后院枯井搜出一具無頭男尸。
仵作問完,來到油鹽店鋪,鋪中無人,地上一堆腳印。仵作跟著腳印到了后院,隨手揭開一口醋缸,捕快拉出一具無頭男尸。捕快又搜其它醋缸,在另一口缸中倒出一地人頭。
水鋪掌柜的被帶上堂來,拒不承認對自家井中無頭男尸和油鹽店醋缸里尸身和人頭知情。
縣官令捕快暫將水鋪掌柜帶下。堂前忽有百十來人擊鼓鳴冤,卻是悶二的賬主子們,在悶二家圍了數日,終是發現悶二失蹤,故而報案。眾人皆說悶二素日與塔家老大交好,靠為人操辦紅白喜事謀生。縣官答應代為尋找悶二,打發了一眾。
次日一早衙役把水鋪掌柜的再次帶上堂來,詢問掌柜的是否與兩家店鋪找到的所有尸體和人頭有關,掌柜的不小心說漏了嘴,只好交代。原來水鋪掌柜殺了小力笨兒,把三個人頭掛在油鹽店屋檐后,左等右等沒有出事,于是以假借打醋為名,趁油鹽店掌柜的不注意偷了他家茶葉罐,當晚帶到塔家,扔在地上。水鋪掌柜的猜想小力笨兒是去塔家送水捎回的人頭,塔家必有蹊蹺。
水鋪掌柜進到塔家栽贓,在院中地上見到塔二死尸,靈機一動,取了柴刀砍下塔二人頭,又把塔二人頭掛上油鹽店屋梁。誰想油鹽店掌柜的又把人頭藏進醋缸。水鋪掌柜的沉不住氣,到油鹽店去探口風,兩人都心中有事,油鹽店掌柜的把水鋪掌柜的帶到后院,揭開醋缸,看到四個人頭。水鋪掌柜的以為自己掛人頭被揭破,順手操起一把榔頭,狠狠將油鹽店掌柜的砸死。
水鋪掌柜的返回點鐘取了砍刀,到油鹽店后院砍下油鹽店掌柜人頭,再往醋缸一扔,把油鹽店掌柜的尸身藏入另一醋缸。
水鋪掌柜的剛畫押被押入大牢不提,堂前鼓響,有兩撥人前來報官。一撥為賈家親屬,稱賈大出門會朋友久未返回,家人出門尋找,在門前找到賈大無頭尸首。另一撥是真武廟的老道,在廟門見到一顆人頭。仵作和捕快前往兩地,賈大尸首和廟門人頭配得一處。
縣官回到后堂尚未坐穩,再次有人報案。來人乃是混跡妓院的浪蕩公子王小奇。卻說馬三第一次帶人頭回家路遇王小奇,王小奇想起不如去馬三家中順點兒錢物,在馬三家柴房看見兩個包袱,急忙帶著包袱回了妓院。王小奇在妓院拆開包袱,驚現兩個人頭,于是報官。
縣官命捕快跟王小奇前往馬三家拿人。馬三供認,在塔家突遇人襲擊,失手將對方殺死后,發現咸菜壇子里悶二人頭。馬三欲向結拜的賈大借錢為悶二下葬,誰想賈大破口大罵,拒不出錢。馬三懷恨在心尾隨賈大回家,在其家門口將其殺死砍下人頭,扔在真武廟門口。
縣官審完樁樁案件,兩眼發愣。案犯李大成,水鋪掌柜的,馬三三人被判斬立決。塔大媳婦兒為哥哥李大成收尸后懸梁自盡。收古董的大老苗出錢為水鋪掌柜的和馬三縫了頭顱,薄葬二人。
塔大和媳婦兒吵架,與好兄弟悶二約好幫忙料理奸夫淫婦的白事,晚上返家準備捉奸,見床上兩人不由怒從心頭起,惡向膽邊生將二人殺害,人頭砍下,帶著人頭去媳婦兒娘家論理。
塔大出門后好兄弟悶二尋來站在臥室,被為妹妹報仇的李大成撞見,誤以為是塔大一刀殺死,頭放入咸菜缸,尸體藏入柴房。
塔大到李家發現媳婦兒好端端活著,方知殺錯了人,隨即返家。水鋪小工小力笨兒去塔家送水,被塔大把蜜罐兒和白芍藥的兩顆人頭趁亂扔進水桶。
四更天馬三不見悶二,誤入塔家,被塔大撲上前來。馬三反手殺了塔大,將頭割下帶回家里。
水鋪掌柜的怪罪小力笨兒帶回人頭,二人爭斗,掌柜的將小力笨兒殺死,人頭砍下,將小力笨兒帶回的兩個加小力笨兒一個人頭掛上油鹽店屋梁。
李大成清早返回塔家查看,被回家的塔二遇見欲往報官,李大成趁塔二不備殺了塔二。
馬三帶人頭回家被王包達窺見欲要勒索,馬三在樹下埋伏將王包達殺死,人頭砍下,一并帶回家中。
馬三為安葬義兄悶二再往賈大處借錢,被賈大大罵后尾隨,將賈大殺害,人頭扔到真武廟門。