唐僧师徒四人离开玉华城,走了五六天的路,进入了天竺国外的一个叫金平府的郡城。他们走过了几条巷口,忽然看见前面有一座慈云寺,唐僧就和徒弟们走进寺里,想歇歇马,吃一顿斋饭,然后再走。主持和尚听说他们是来自东土大唐,赶忙施礼迎接。
吃完斋饭,唐僧催促着徒弟们早点上路。寺里的和尚劝他说∶“再过两天就是元宵节,过完元宵节再走也不迟。”盛情难却,唐僧只好同意了。元宵节这天,寺里的和尚邀请唐僧师徒一齐上街看灯,唐僧师徒就跟随着寺里的和尚一齐来到城中赏灯。
城中灯火辉煌,笙箫和歌曲的声音不绝于耳。他们来到金灯桥口,就看见三盏像水缸那么大的金灯挂在柱子上,点的油有一种很特别的香气。唐僧一问才知道灯里面点的是名贵的酥合香油,三盏灯的油价值白银五万余两,都是本府的百姓缴纳的。
正说话的时候,半空中突然响起了呼呼的风声,吓得看灯的人连忙四处隐藏回避。僧人们都说∶“风来了,是佛爷看灯来了,我们赶快回去吧!”
唐僧听说后就要留下来拜佛,顷刻之间,风中果然出现了三位佛身,唐僧慌忙跪下参拜,孙悟空一看却是三个妖怪。
孙悟空还没来得及张口,一阵狂风刮过来,唐僧立刻就不见了。猪八戒急得东找西找,沙僧也远近四处呼喊。孙悟空说∶“兄弟们不用再叫了,师父已经被妖精捉走了!你们两个和其他的僧人一起回寺看守行李马匹,我跟着这股狂风去追!”说完就直奔而去。
孙悟空追到天亮,风突然停了,孙悟空落在一处山崖上,正在寻找路径,就看见有四个人赶着三只羊走了过来。孙悟空用他的火眼金睛仔细一看,原来是年、月、日、时四位功曹变的,他们是特地来告诉悟空∶这座山叫青龙山,山上有个玄英洞,住着三个妖精。
孙悟空问清楚了大妖精叫辟寒大王,二妖精叫辟暑大王,三妖精叫辟避尘大王,就让四位功曹离开。他转过山坳,去寻找妖精的洞府,果然被他找着了。孙悟空不愿冒险进入,就站在大门口高喊∶“妖怪,快点把我师父送出来,不然把你们都打死!”
小妖们赶紧跑到洞中报告。三个妖王各自拿着兵器走出洞,其他大大小小的牛头鬼怪在左右跟随着。孙悟空看见这情形,挥动着金箍棒就打了过去,三个妖王也各自挥舞着兵器迎战。一直打到天色黄昏,那个辟尘大王把令旗一摇,一群小妖便都围住孙悟空乱打。
孙悟空不敢再打下去,跳到云上。回到慈云寺,他仔细地给猪八戒和沙僧讲了经过。师兄弟三人害怕妖精当天晚上就害师父,就在晚饭后趁着月光,驾起祥云,来到玄英洞口。孙悟空让师弟们稍等一会儿,他变成个萤火虫进洞探听一下虚实。
孙悟空飞到唐僧面前,现出了原样,用了一个解锁法帮唐僧脱掉手一铐,然后引着师父轻手轻脚地朝洞外走去。没想到在路上碰到了巡逻的小妖。孙悟空一棒打死了两个小妖,还有一个小妖逃脱了,他边跑边叫∶“毛脸的和尚钻到洞里来杀人了!”
三个妖王听到了叫喊声,赶紧爬起床 就连连叫着∶“要捉住他!”唐僧吓得手脚酥软,迈不动步。孙悟空怕被围住了,只好丢下师父,独自一人杀到洞外,看见猪八戒和沙僧,简单地述说了发生的事情。三个人再听洞里,没有一点动静,担心妖王要伤害师父。
猪八戒急了,抡起钉耙朝着石门就打,将门打得粉碎。刚往回走的妖王听到洞门被砸烂了,气得又转身杀了出来。双方打得难分难解,辟寒大王一声号令,小妖们一拥而上,绊倒了猪八戒和沙僧,捆起来押进洞里。孙悟空跳上云头跑了。
孙悟空离开了玄英洞,一直奔向九重云霄,到天界去搬救兵。他在西天门遇上太白金星。太白金星听了孙悟空讲述的遭遇,说那三个妖精是犀牛精,只要四木禽星下界去就能降伏三妖,说着就带孙悟空到灵霄宝殿,奏明玉皇大帝。
玉帝派许天师和孙悟空一起到斗牛宫,叫四木禽星下到凡界降妖。四木禽星角木蛟、斗木獬、奎木狼、井木犴接到御旨,就和孙悟空一齐驾云来到了青龙山玄英洞上空。四木禽星说∶“大圣,你先去找那三个妖精讨战,把妖精引出来,我们就跟着动手。”
孙悟空到洞门前一阵叫骂。三个妖王气得率领着小妖出了洞门,摆了个圈子阵,把孙悟空围困在阵子中间。四木禽星从天上降下来,各自抡起兵器喊道∶“造孽的畜牲,不准动手!”大小妖们一看见四木禽星,都现出了原来的样子,满山乱跑。
三个妖王也现出了原来的模样,原来是三只犀牛精,他们一直向着东北方向逃去。孙悟空和井木犴、角木蛟紧追不舍。斗木犀和奎木狼在山谷里和山头上把那些牛精活捉的活捉,打死的打死,然后进到洞中救出了唐僧、猪八戒和沙僧。
两位禽星要去帮助孙悟空捉拿妖王。猪八戒和沙僧送走他俩以后,回到洞里寻找出一担布绸金银,搬到洞外,又请师父到山崖上坐稳,然后猪八戒放了一把大火,把玄英洞烧成灰烬。师徒三人这才慢慢找路回慈云寺去。
斗木獬、奎木狼驾着云一直追到了西洋大海,远远地就看见孙悟空在海面上吆喝,就降了云头。原来妖精已经钻进水里,井木犴、角木蛟也追到了水中,孙悟空留在水面上把守,防止他们逃走。这时孙悟空见来了帮手,便让他们在海面上拦截,自己念了个避水咒,到海底帮着作战。
孙悟空来到了海底,看见井木犴、角木蛟正在和三妖打得不可开一交一 ,就立刻抡棒跳过去帮忙。三妖本来就已经十分疲倦了,看孙悟空来了,吓得又朝海中心逃去。巡海夜叉看到,急忙回水晶宫给龙王报告。老龙王就命令摩昂太子带领兵士去帮忙。
摩昂太子率领着龟将鳖帅、虾兵蟹卒杀出水晶宫,挡住了犀牛精的去路。犀牛精被前后夹击,就慌忙四处逃窜。那个辟尘被摩昂太子率领的士兵扳倒在地,抓着他的四个蹄子捆在一起;这时井木犴一怒现了原身,一口咬断了辟寒的脖子;角木蛟也同时揪住了辟暑。
他们来到水晶宫里锯下了辟寒的角,孙悟空带在身上,和四木禽星押上辟暑和辟尘,告辞了龙王,驾着云回到了金平府。孙悟空在空中大叫,告诉军民们天神已经降伏了作恶多年的犀牛精,从今以后再不要献酥合香油供金灯了。
猪八戒、沙僧听到了孙悟空的叫喊也纵身跳上云端,说∶“把这两个妖怪推下去,让本地的军民都来看看,四位星君也请下凡一趟。”于是四位星君踩着一簇彩云,降落到府堂之上,看得府县的官员、军民百姓,急忙摆设香案,叩拜天神。
猪八戒的性子上来了,拿了一把戒刀,把辟尘和辟暑的头砍下来,又锯下四支角。孙悟空说∶“四位星官,请把这四只犀角拿到上界去,进贡给玉皇大帝,回去缴旨吧!”他又把自己身上带的两只犀角一支留在了府堂,一只准备带到灵山敬献佛祖。
四星君拿上了犀牛角,和孙悟空告别,就驾上彩云回到天宫去了。金平府的县官按照孙悟空的意思,贴出告示,说下一年不许再点金灯,然后又建起了一座四星降妖庙,并且为唐僧师徒四人建立了生祠,立了石碑并刻上文字,传于后世。