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