Đời vua Trần Thuận Tông, có người họ Từ, tên Thức, nhờ là con nhà quan mà được bổ làm tri huyện Tiên Du. Cạnh huyện có một ngôi chùa danh tiếng, trong sân trồng một cây mẫu đơn. Mỗi năm vào tháng hai, hoa nở rộ, người khắp nơi kéo đến xem, nam thanh nữ tú chen chân trong sân chùa. Năm ấy, giữa hội hoa, có một người con gái chừng mười lăm, mười sáu tuổi, dung nhan tuyệt thế, đứng ngắm hoa hồi lâu, rồi đưa tay vin một cành, chẳng ngờ cành giòn gãy ngay trong tay.
Người giữ chùa thấy vậy, bắt người con gái lại, đòi đền cành hoa. Trời đã về chiều mà không ai đứng ra chuộc, nàng cúi đầu, chẳng biết làm sao. Vừa lúc ấy Từ Thức đi qua. Hỏi rõ đầu đuôi, chàng động lòng thương, liền cởi tấm áo cừu gấm trắng đang mặc, trao cho nhà chùa để chuộc tội cho nàng. Người con gái được thả ra, cúi chào rồi đi, không ai biết là ai. Người trong huyện đều khen quan huyện là người có lòng nhân hậu.
Từ Thức vốn tính thích ngao du, ham ngâm vịnh, uống rượu, đánh đàn, việc quan bỏ bê, thường bị cấp trên trách. Chàng than: Ta không thể vì mấy đấu lương quan mà buộc mình chốn bụi trần, để núi non quê nhà đợi suông. Rồi chàng treo ấn từ quan. Từ đó, chàng mang theo một bầu rượu, một cây đàn, một túi thơ, đi khắp nơi tìm cảnh đẹp. Chàng chỉ ghé những nơi có núi xanh nước biếc, gặp cảnh hay thì ở lại ngâm thơ, có khi mấy ngày liền mới đi.
Một hôm, chàng đi thuyền ra cửa biển Thần Phù. Xa xa giữa biển, có một ngọn núi lạ hiện lên, mây lành năm sắc bao quanh. Chàng cho thuyền ghé vào, trèo lên núi. Đến lưng chừng, thấy một vách đá có cửa động khép kín. Chàng ngẩn ngơ ngắm nghía, chợt vách đá mở ra như một cánh cửa. Từ Thức bước vào. Vừa đi được vài bước, sau lưng cửa đá đã khép lại, tối như bưng, chẳng còn lối về.
Chàng lần mò trong bóng tối, đi mãi rồi thấy sáng dần. Trước mặt hiện ra một tòa lâu đài rực rỡ, mái vàng, cột ngọc, hoa lạ cỏ thơm, khác hẳn cõi trần. Có hai thị nữ áo xanh ra đón, cười mà nói: Chàng rể của chúng ta đã đến. Rồi đưa chàng vào điện. Trên điện, một vị phu nhân mặc áo gấm, ngồi trên sập ngọc, mời chàng ngồi và bảo: Đây là núi Phù Lai, một trong ba mươi sáu động tiên. Ta là Ngụy phu nhân, chủ của động này. Chàng là người hiền nhân quân tử, nên mới tìm được tới đây.
Phu nhân sai gọi một người con gái ra. Từ Thức nhìn kỹ thì giật mình: chính là cô gái làm gãy cành mẫu đơn năm nào. Phu nhân nói: Đây là con gái ta, tên là Giáng Hương. Ngày trước nó xuống trần dự hội hoa, gặp nạn, nhờ có chàng cứu giúp. Ơn ấy không thể quên. Nay ta muốn cho nó kết duyên cùng chàng để đền đáp. Ngay đêm ấy, lễ thành hôn được cử hành. Tiên nữ các động kéo đến chúc mừng, đàn sáo vang lừng, tiệc ngọc kéo dài suốt mấy ngày đêm.
Ở cõi tiên vui sướng, thoắt đã một năm. Nhưng mỗi khi nhìn ra biển xa, thấy sóng nước mênh mông, Từ Thức lại chạnh lòng nhớ quê. Có đêm chàng thao thức không ngủ, đứng ở hiên ngóng về phía đất liền. Giáng Hương hỏi, chàng nói thật: Ta xa nhà đã lâu, bạn bè thân thích chắc đều mong đợi. Xin cho ta về thăm ít lâu. Giáng Hương khóc mà rằng: Thiếp không dám vì tình vợ chồng mà ngăn chàng. Chỉ sợ cõi trần nhỏ hẹp, ngày tháng ngắn ngủi, chàng về rồi cảnh cũ người xưa chẳng còn như trước.
Thấy chồng đã quyết, Giáng Hương đành để chàng đi. Phu nhân than rằng: Không ngờ chàng còn vương vấn bụi trần đến thế. Rồi sai đem một chiếc xe mây đưa chàng về. Lúc chia tay, Giáng Hương trao cho chồng một bức thư viết trên lụa, dặn về đến nhà hãy mở ra xem. Hai người nhìn nhau, nước mắt tràn mi. Xe mây cất lên, thoắt cái đã thấy mình ở quê cũ.
Nhưng cảnh vật đã khác hẳn. Thành quách, nhà cửa đổi thay, chẳng có ai quen biết. Chàng hỏi thăm các bậc già cả trong làng, có cụ ngẫm nghĩ hồi lâu rồi nói: Thuở nhỏ tôi nghe kể, ông tổ ba đời nhà tôi có tên là Từ Thức, vào núi rồi mất tích, đến nay đã hơn tám mươi năm. Bây giờ nước ta đã sang đời vua Lê. Từ Thức bàng hoàng. Một năm nơi cõi tiên, ở trần gian đã là tám mươi năm. Chàng muốn quay về núi tiên, nhưng chiếc xe mây đã hóa thành chim loan bay mất.
Chàng mở bức thư lụa ra đọc. Trong thư, Giáng Hương viết rằng duyên tiên đã hết, cầu ô đã gãy, từ nay dẫu muốn tìm nhau nơi biển rộng non xa cũng chẳng còn hẹn được ngày gặp lại. Đọc xong, Từ Thức biết nàng đã nói lời vĩnh biệt. Chàng đứng lặng hồi lâu, rồi mặc áo cừu nhẹ, đội nón lá, một mình đi vào núi Hoàng Sơn ở huyện Nông Cống. Từ đó, không ai biết chàng đi đâu nữa.