从前,有个蛮乖的公主,经常背着父母到民间玩耍。有天晚上,她在一个栈房里住下来,半夜的时候,城隍老鬼摸到公主的房里吃掉了公主的心子。第二天早晨,店老板来到公主的房里时,见公主硬梆梆的死在铺上。案子报到官府,三个月也没有查出个名堂来。
有一年恰逢京城考试,远方来了个进京赶考的公子和一个书童到客栈里住宿。这家栈房自从死了那个公主,生意就一天比一天淡泊,特别是公主死的那间屋子更是没哪个敢进去住。挨到的人说,那间屋子里每到半夜红光闪闪,还看到一个小姐的影子在梳头打扮。
主人看到这远方的客人,心里好生高兴,就把他们安排在那间屋子里。一来欺他们不晓得,二来也证实一下那间屋里到底有没有鬼。公子二人不晓得内情,晚饭后早早就关门就寝了。
到了半夜,那间屋里突然“哇”的一声响,接着象是有人开门走动。公子从梦中惊醒,一下从铺上坐起来,点亮了油灯。只见铺前跪着一个漂亮的小姐,很伤心地哭着,弄得公子莫名其妙,痴呆呆地看着她。
这时小姐伤心地说:“三年前,我背着父母私到民间,晚上就住在这屋里,哪晓得困到半夜的时候,城隍老鬼从窗子钻了进来,把我的心吃了,使我无法还生。没想到今晚上公子引来了书童,我只好借用书童的心子复还正身。哪晓得书童的阴魂不放我,硬要我还他心子。望公子帮忙,把我引见给父王,说明情由,捉住城隍老鬼,还我心子。那时我再把书童的心子归还于他。”公子见姑娘这样伤心,虽说疼爱书童,但又同情小姐,只好答应下来。
第二天正逢大年三十,大清早公子带着小姐走路,书童的阴魂也哭着追上来了。公子赶忙上前挡住,劝回栈房,还再给店老板说要照看好书童,三年后一定把心子送来交还他,使他重返人世。接着,公子又亲手做了一盏红灯挂在店门正中,使四方邪魔不敢入店来欺负书童的阴魂。
从那以后,人们每逢过年都要在门口挂一盏红灯避鬼驱邪。这样年灯习俗就传开了。