顺天府的陈孝廉,十六七岁的时候,曾经跟随一位私塾先生在僧寺中读书。同学很多,其中有一个姓褚的同学,自称是山东人,刻苦攻读钻研,一刻也不休息。而且这个同学寄宿在学校里,从未见他回过一次家。陈生与他最要好,因而就询问他为什么不回家。回答说:我家里很穷,筹措学费不容易。我即使做不到珍惜每一寸光一陰一,如果每天加上半个夜晚,那么我的两天就可以抵得上别人的三天。陈生听了他的话很受感动,就想搬来床铺和他一起住。劝阻他说:暂且不要这样做!我看先生的学识已经不能做我们的老师了。阜城门有一位吕先生,年纪虽然很老了,却可以做我们的老师,请你和我一同到他那里去求学吧。原来京城中教私塾的大多按月计算收取学费。月底学费用完了,学生们可以按自己的意愿继续留下或者离开。于是陈、褚二人就一同去拜见吕老先生。吕老先生是浙一江一有名的读书人,因落魄穷困而不能回乡,只好靠教儿童启蒙糊口,这实在不是他的志向。所以,他得到陈、褚两个学生后非常高兴。而又很聪明,读书一过目就懂了,吕先生特别器重他。陈、褚两人感情十分亲密,白天同桌读书,晚上共睡一床。到了月底,忽然请假回去了,十几天没再回来,大家都感到很奇怪。
一天,陈生因为有事到了天宁寺,在廊下遇见了,他正在把苘麻劈城小条,蘸上硫黄,制成引火的用具。见到陈生后,现出羞惭不安的神情。陈生问道:你为什么突然停止读书了?握住陈生的手,把他请到一边,很难过地说:因为家穷没有钱给先生作学费,所以必须做半个月的买卖,才能读一个月的书。陈生感慨了很长时间,说:你尽管回去读书,我自当尽力帮助你。就叫仆人收拾起的工具,两人一同回到学校。嘱咐陈生不要泄漏这件事情,只假托个理由去告诉先生。陈生的父亲本是个开店铺的商人,靠做买卖致富,陈生常偷父亲的钱,替一交一纳学费。陈父因为丢失了钱而责问陈生,陈生就把实情告诉了父亲。陈父认为陈生是个书呆子,就叫他停学了。感到十分惭愧,拜别老师准备离去。吕老先生知道了其中的缘故,就责备他说:你既然这样贫困,为什么不早告诉我?于是把钱全部退还给陈父,留下像往常一样读书,跟他一起吃饭,对待他就像自已的儿子一样。陈生虽然不入馆读书了,却常常邀请到酒店共饮。本来为了避嫌不肯去,可陈生邀请他也越发坚决,常常流下泪来。不忍心拒绝他,于是与陈生就来往不断了。
过了两年,陈生的父亲死了,陈生又要求跟吕老先生读书,吕老先生被他的诚意感动了。就收下了他。但陈生由于停学已经很久,和相比差距很大了。过了半年,吕老先生的长子从浙一江一一路讨着饭到京城来寻找父亲。学生们凑集了一些钱给吕老先生作回乡的路费,可是只有流着眼泪依恋不舍而已。吕老先生临别时,嘱咐陈生要把当作自己的老师对待。陈生答应了,请住到自己家里当自已的老师。过了不久,陈生考中了秀才,又以遗才科的身份参加乡试。陈生担心自己不能把文章写完,主动请求代替他去参加考试。到了乡试的日期,带了一个人来,说是自己的表兄刘天若,嘱咐陈生暂时跟着他去。陈生刚刚出门,忽然从后边拉他,陈生身体几乎跌倒,刘天若急忙挽住他一同走了。他们游览眺望了一阵子以后,就一同在刘天若家中住下了。刘家没有妇女,他就让客人住在了内院。住了几天,不知不觉到了中秋节了。刘天若说:今天李皇亲的花园中游人很多,我们也应当去舒散一下心头的烦闷,顺便送你回家。于是,刘天若就叫马僮挑着茶炊、酒具前去。只见水中楼台,梅花形的亭阁里,人声喧哗嘈杂,不能进入。走过了一道水闸,便见在老柳树下横着一条画舫,他们就互相扶着登上船去。两人酒过数巡,很感寂寞。刘天若伸头对书僮说:梅花馆最近有新来的妓一女,不知在家不在?书僮去了一会儿,就和一位女子一同回来了。原来是妓一院的李遏云,她是京城的名妓,诗写得很好,又善于唱歌。陈生曾经和朋友一起在她家喝过酒,所以认识她。两人相见,略为问候了几句。李姬脸上带着悲哀忧愁的神色。刘天若叫她唱歌,她就唱了一支《蒿里曲》。陈生很不高兴地说:我们主、客两人即使不能使你满意,也不致于对着活人唱挽歌!李姬站起来表示了歉意,勉强露出了笑脸,就唱了一支词曲浓艳的歌曲。陈生高兴了,握住李姬的手腕说:你过去写的《浣溪纱》词我读了好几遍,现在都忘了。李姬就吟道:泪眼盈盈对镜台,开帘忽见小姑来,低头转侧看弓鞋。强解绿蛾开笑面,频将红袖拭香腮,小心犹恐被人猜。陈生反复吟咏了好几遍。不一会儿,船靠岸停下。他们上岸后走过长廊时,陈生见长廊壁上题诗很多,就拿起笔来把那首《浣溪纱》词写在壁上。这时天色已近傍晚了,刘天若说:考场中的人快出来了。就送陈生回家。陈生进了家门,刘天若就告别回去了。陈生见室内昏暗无人,稍一迟疑,已经走进门来,他细看了看,却不是。正感到疑惑的时候,那人忽然走近自己身边跌倒了。这时家里仆人们说:
公子疲劳极了!一齐来拽他扶他;陈生又觉得跌倒的不是别人,而是自己。他站起来后,看见站在旁边,恍恍惚惚好像是在梦境中。陈生屏退了仆人追问这件事,说:告诉你不要吃惊:我其实是个鬼,很早就应该投生转世了。所以在这里一拖再拖,是因为不能忘记你对我的深厚情谊,因此附在你身上,以便代替你去参加乡试。现在三场考试已经结束,我的愿望也了结了。陈生又请求他代替自己参加会试。说:你的父辈福薄,悭吝之人的骨格,承受不了诰赠的荣耀。陈生问:你将要到哪里去?说:吕老先生与我有父子的情分,我经常挂在心上而不能忘。我的表兄在一陰一间衙门里掌管簿籍,我求他向地府主管者说情,或者能有希望作他的子嗣。于是告别而去。陈生觉得这件事很奇异,天明后就去拜访李姬,想问问泛舟游湖的事,但是李姬已经死了好几天了。他又到李皇亲花园中去,见廊壁上自己题的那首《浣溪纱》词仍在,只是墨色淡而模糊,好像就要磨灭了一样。这才明白题写诗的是自己的魂,而作词的李姬是个鬼。到了晚上,满面喜色地来了,说:所求之事幸而成功了,现在要向你告别了。于是伸出两只手来,叫陈生在手心里各写上褚字作为标志。陈生要设酒宴为他饯行,摇头说:不必了。你如果不忘我们往日的一交一情,乡试发榜以后,不要怕路途遥远艰险,到浙一江一来看望我。陈生流着泪送他,看见有一个人在门外等候着,还在依依不舍,这个人用手按着的头顶,就随着他的手变扁了。这个人用手把捧起来放入一个口袋中,背着走了。
过了几天,陈生果然考中了举人。于是治备了行装前往浙一江一。吕老先生的妻子几十年不生育,五十多岁了,忽然生了一个男孩,两只手紧紧握住不能伸开。陈生到了吕家,要求见见小孩,并说手掌中一定有个褚字。吕老先生不信。小孩见了陈生,十指自动伸开了,一看他的手掌心,果然各写着一个褚字。大家很惊奇地问起原因,陈生就把这事原原本本地告诉了他们。大家又喜欢又惊奇。陈生丰厚地赠送给吕老先生一笔钱,才告辞回家。后来,吕老先生以岁贡的资格,到京城参加廷试,住在陈生家里。这时吕老先生的小儿子才十三岁,已经考中秀才了。