故事发生在清朝乾隆年间。
书生江轶林和朋友古笑天清明郊外踏青,与小家碧玉彭玉莲和他的丫鬟春燕不期而遇,彭玉莲回眸一笑,江轶林和古笑天都不觉魂飞。江轶林和古笑天定下盟约:二人都向彭玉莲父母提亲,赢得允可者娶彭玉莲为妻,输者娶春燕为妻。结果是江轶林如愿娶了彭玉莲,而古笑天心怀叵测娶了春燕。
新婚后,古笑天和江轶林同一天带妻子回家省亲。酒席上,古笑天佯装大醉先行离开,然后勾结土匪西风吹雪伺机抢劫彭玉莲。不料江轶林答应彭玉莲还愿,走了另一条路得意幸免。古笑天以为彭玉莲留在娘家未归,半夜带领盗贼袭击彭家,不见彭玉莲和江轶林,就杀死了彭玉莲的父亲彭方达,彭玉莲的兄弟彭玉琦因为留宿城内侥幸逃得一死。古笑天栽赃无辜村民,第二天还假装殷勤问候。江轶林夫妇对他的话还信以为真。
虽然官差“人赃俱获”地抓获了一名“犯人”,但彭玉莲江轶林夫妇并不相信。适逢科考,江轶林进省城参加秋闱,古笑天在家经商,他准备“乘虚而入”占有彭玉莲。江轶林走后,古笑天暗中派人给彭家下毒,药倒他们一家。自己则偕李春燕前来探病问候,江父外出未归,江母彭玉琦彭玉莲都因为食物中毒有病在床。彭玉莲病榻前,古笑天心生不轨地支开春燕,对彭玉莲欲行非礼,彭玉莲厉声斥责,欲大声呼喊,古笑天恼羞成怒,掐死了彭玉莲。李春燕闻声赶来,发现了这罪恶的一幕,但惧怕古笑天的淫威,不敢说出实情,对江父母谎称彭玉莲是气绝身亡。江父母悲痛欲绝,一面收敛入棺,一面差人飞报江轶林。
江轶林在旅店结识书生梅俞声和李凤武,三人言谈甚欢。考完后的夜里,江轶林梦中遇到彭玉莲与他诀别,心知不详,飞马赶回,彭玉莲死已“二七”。“二七”俗为“回煞”,言鬼魂来赴死尸,举家都要回避。江轶林哀痛欲绝,坚决不肯回避。是夜,彭玉莲鬼魂冉冉而来,江轶林毫不畏惧抱住彭玉莲鬼魂,哭罢,各诉离情。彭玉莲告知自己死亡的缘由,江轶林闻听怒火中烧却彷徨无计。
彭玉莲的丫鬟春燕被古笑天娶回家后,一直过着屈辱的生活。当她眼睁睁地看着古笑天杀死了彭玉莲,自己却还违心地屈从他的淫威掩盖真相,痛不欲生而后疯了,她从楼上跳下自尽。夜晚,无人守候的灵堂引发一场大火,古家财产焚烧殆尽。
梅俞声和江轶林中榜了,李凤武却落第了,但他生性豪爽,还是和梅俞声结伴前来看望江轶林。当他们得知缘由后,一同设计杀死了古笑天。而他们依旧不知道杀死彭方达的盗贼是谁?
大仇一报,江轶林作别父母前去进京参加来年春试,彭玉莲与他前缘未了,一路鬼魂相伴,逢凶化吉,江轶林得以高中。六个月后,江轶林新官赴任,彭玉莲的鬼魂依旧和他做伴。路上,玉莲从冤魂那里得知江轶林上任的必经之路上有一所黑店,专门干着杀人放火劫人钱财的勾当,很为江轶林担忧,她把情况告诉了江轶林。江轶林毫不畏惧,决心为民除害。在黑店里,当他得知西门吹雪正是杀害岳父的凶手时,更坚定了他的决心。最后,在彭玉莲和众多冤魂的帮助下,生擒这伙匪徒,为民除害!
诀别的时刻到了。彭玉莲鬼魂要去投生,与他作别,称“前缘一了,十七年后再续后缘”。
江轶林慨然允诺,对众多求婚者概不应允。
十七年后。江轶林宦海沉浮,心生归意,他与朋友梅俞声和李凤武作别,回归故乡。路过观音庙,看到那里一片破败,就动手拂拭灰尘,往事历历,情不自已。
……
江轶林在观音庙,意外看到彭玉莲外貌相似的女子,她的名字叫王玉莲。王玉莲出身贫寒神情木然,口不能言,但江轶林对她情不自已。结婚后,江轶林用心照料,王玉莲竟然会开口说话,她的外貌性情举手投足仿佛前生的彭玉莲