Cuối đời nhà Hồ, có người lái buôn tên Hồ Kỳ Vọng, quê ở Phong Châu, theo nghề buôn bán mà đến ở trọ trong thành Xương Giang. Chẳng may ông lâm bệnh rồi mất nơi đất khách. Người vợ nghèo xơ xác, đến tiền đưa quan tài chồng về quê cũng không có. Bà đành gạt nước mắt, đem đứa con gái nhỏ là Thị Nghi bán cho một nhà phú thương họ Phạm. Cô bé theo người lạ về nhà giàu, ngoái lại nhìn mẹ mãi, rồi khuất sau cánh cổng gỗ. Từ ấy, Thị Nghi làm đứa ở, quét sân, gánh nước, lớn lên giữa những bức tường không phải nhà mình.
Năm tháng trôi qua, cô bé đứa ở ngày nào trở thành một thiếu nữ nhan sắc mặn mà. Ông chủ họ Phạm say mê nàng, rồi lén lút tư tình. Chuyện kín đến mấy rồi cũng lọt ra ngoài. Bà vợ họ Phạm biết được, ghen tức đến tím mặt, nhưng không nói thẳng. Bà mượn một lỗi vặt nào đó, sai đánh Thị Nghi một trận thật nặng tay. Người con gái yếu ớt không chịu nổi, tắt thở ngay đêm ấy. Nhà họ Phạm lặng lẽ khiêng nàng ra chôn ở bãi đất cạnh làng, không mõ, không kèn, không một ai khóc. Nhưng một cái chết oan như thế, đâu dễ gì nằm yên dưới lớp đất mỏng.
Chỉ mấy tháng sau, quanh vùng bắt đầu sinh chuyện lạ. Hồn Thị Nghi hiện lên, biến hóa đủ hình đủ dạng: khi là cô hàng tương ngồi bên đường, khi là ả bán rượu đứng tựa cửa quán, mắt liếc tình tứ. Kẻ có chút danh phận bị nàng quyến rũ đến kiệt sức mà chết. Người có tiền của thì bị nàng moi rỗng túi. Suốt một dải đường mười dặm, ai cũng phải đi trưa về sớm, dặn nhau: “Gặp gái đẹp giữa đường, chớ có trêu ghẹo.” Mãi sau, dân làng mới đoán ra đó là hồn oan của Thị Nghi. Họ kéo nhau ra bãi, đào mả nàng lên, ném hết xương xuống dòng sông. Từ đó, chuyện quấy nhiễu mới thưa đi đôi chút.
Mãi đến khi nhà Lê đã dẹp yên giặc Minh, có một viên quan họ Hoàng, người Lạng Giang, xuôi về kinh đô nhận chức. Đêm ấy thuyền đỗ bên sông, trăng sáng sao thưa, bốn bề lặng ngắt. Bỗng từ bãi cát phía đông nam vẳng lại tiếng khóc thảm thiết. Hoàng cho chèo thuyền lại gần, thấy một thiếu nữ chừng mười bảy, mười tám tuổi, mặc áo lụa đỏ, ngồi trên tấm đệm cỏ. Chàng hỏi duyên cớ. Nàng lau nước mắt, kể rằng mình người Phong Châu, cha mẹ buôn vải, bị bọn cướp giết rồi quăng xuống sông này. Hôm nay đi hái dâu, qua chốn cũ, nhớ cha mẹ mà ngồi khóc đến khuya.
Hoàng động lòng thương, ngỏ ý cho nàng đi nhờ thuyền về kinh. Nàng lại khóc: “Thân thiếp trôi nổi có đáng gì, chỉ hận xương cha mẹ còn nằm dưới đáy sông, chưa được chôn cất.” Hoàng nói: “Nàng muốn thế thì tôi chẳng tiếc tiền.” Chàng thuê người giỏi lặn mò dưới đáy sông, vớt được hài cốt, chở theo thuyền. Dọc đường, đôi lần Hoàng buông lời trêu ghẹo để dò lòng, nàng đều cự lại rất nghiêm. Chàng càng thêm quý trọng. Về đến kinh, Hoàng chưa vội đi nhận chức, lại ngược lên bến Bạch Hạc, đem hài cốt chôn cất tử tế bên sông. Xong việc, nàng thưa: “Ngày trước thiếp phải cự chàng vì mồ cha mẹ chưa yên. Nay xin được theo hầu khăn lược.”
Hai người thành vợ chồng, ân ái mặn nồng. Nàng đi đứng đúng mực, nói năng khéo léo, họ hàng bạn bè ai gặp cũng khen chàng có phúc. Nhưng chỉ được hơn một tháng, Hoàng bỗng lâm một chứng bệnh lạ: lúc thì điên cuồng hoảng hốt, lúc lại mê man không biết gì. Vợ chàng sớm tối khóc lóc bên giường, không rời nửa bước. Thế mà lạ thay, Hoàng không chịu uống thuốc, không cho ai bắt mạch, ai mang bùa đến thì chàng chửi mắng đuổi đi. Thầy thuốc, thầy cúng kéo đến, đều ngờ là có ma quỷ ám, nhưng chẳng biết làm gì, chỉ đứng nhìn nhau lắc đầu. Người bệnh mỗi ngày một gầy rộc, mắt trũng sâu.
Một hôm có người đàn ông khăn cũ giày rách, quần áo lôi thôi bước vào nhà. Thiên hạ trông thấy đều bật cười. Ông ta chẳng nao núng: “Các ông toàn hạng xoàng. Ta đây mới là thần y, chẳng những chữa khỏi bệnh mà còn cho người ta mọc cánh thành tiên.” Hỏi phép chữa thì ông kể vài bài thuốc tầm thường, giở tay nải ra chỉ thấy trần bì, phụ tử. Hoàng thấy buồn cười, chìa tay cho ông bắt mạch. Ông phán: “Chẳng sao cả, chỉ là tạng phủ không hòa. Uống thang này cho ăn được, rồi làm cỗ cúng thần là yên.” Nói rồi ông hòa thuốc vào một cái chai trắng, dốc cho Hoàng uống cạn.
Uống xong, Hoàng nôn ra mấy đấu bọt dãi rồi nằm thiếp đi. Người vợ nổi giận, vớ gậy đập vỡ cái chai, quát: “Lão phù thủy ở đâu đến đây chia rẽ vợ chồng ta!” Ông thầy chẳng nói chẳng rằng, ném ra một đạo bùa. Lập tức nàng ngã vật xuống đất, hóa thành một đống xương trắng. Ông lấy nước nóng pha bảy thứ hương rót vào ngực Hoàng. Hồi lâu chàng tỉnh lại, chẳng nhớ gì những ngày qua. Ông thầy giải thích: “Nhìn mặt ông này tôi thấy đầy yêu khí, còn ả kia chính là gốc của tà. Tôi phải nói nhảm để ả coi thường, mới cho ông uống thuốc được.” Người ta đến bến Bạch Hạc đào mộ lên, chẳng thấy xương đâu, chỉ có mấy hòn máu đỏ tươi, vừa định nhặt đã biến mất. Ông thầy thở dài: “Cành lá thì trừ được, gốc rễ còn chưa dứt.”
Hơn một tuần sau, Hoàng đang nằm nghỉ giữa ban ngày thì có hai tên lính bước vào bắt chàng đi. Họ dẫn chàng tới một tòa cung điện tường bao nghiêm ngặt, chỉ có dãy hành lang bên trái đã xiêu đổ. Trên điện, một vị đội mũ miện quát: “Diêm Vương có chỉ, sai ta tra xét vụ án của ngươi!” Lính đưa giấy bút bắt khai. Hoàng thưa: “Tôi xuất thân nghèo, làm quan không tham, xử mình không gian dối, không biết mình có tội gì.” Lời chưa dứt, người vợ cũ từ dãy hành lang đổ bước ra, mặt lạnh như băng. Hoàng hiểu ngay ai đã kiện mình. Chàng cầm bút viết một tờ cung, kể hết chuyện gặp nàng dưới trăng, bị sắc đẹp mê hoặc, bị hút cạn sinh khí, nếu không có thầy thuốc cứu thì đã về chín suối.
Tờ cung dâng lên. Vị thần đọc xong, đập bàn giận dữ: “Con ma hèn mọn kia, sống thì dâm tà tham lam, chết còn dám kiện bậy, tưởng âm phủ không trị được sao!” Rồi ra lệnh tống giam yêu nữ vào ngục. Đoạn ngài quay sang Hoàng: “Còn ngươi, đọc sách thánh hiền, há không biết lời răn về sắc đẹp, sao lại sa vào con đường ấy? Chí không bền, lòng còn ham mê, cũng đáng trách.” Ngài phê: giảm thọ của Hoàng một kỷ, tức mười hai năm, rồi sai lính đưa về. Hoàng giật mình tỉnh dậy, mồ hôi ướt đẫm. Mấy năm sau, chàng đi việc quan qua vùng Tam Giang, ghé nghỉ ở ngôi đền Phong Châu. Tường vách, tượng thần, cả dãy hành lang xiêu đổ, giống hệt cảnh trong mộng. Hoàng vội lên ngựa phi thẳng, không dám ngoảnh đầu nhìn lại.