Ngày xưa, ở huyện Cử bên Trung Hoa, có chàng thư sinh Vương Tử Phục, mồ côi cha từ nhỏ, sống với mẹ. Đêm rằm tháng giêng, chàng đi xem hội đèn ngoài thành. Giữa đám đông, chàng gặp một cô gái cầm cành mai, cười khúc khích không ngớt. Chàng đứng ngẩn ra nhìn. Cô gái đi qua, đánh rơi cành mai, vừa đi vừa cười: “Chàng thư sinh kia, mắt cứ nhìn trân trân như kẻ trộm.” Tử Phục nhặt cành mai lên, mang về nhà.
Từ hôm ấy, Tử Phục chẳng ăn chẳng ngủ, cứ cầm cành mai ngắm mãi, rồi đổ bệnh. Mẹ chàng lo lắng, nhờ người anh họ là Ngô Sinh tới thăm. Nghe chuyện, Ngô Sinh nói cho chàng vui: “Cô gái ấy là em họ của chúng ta, nhà ở trong núi Tây, cách đây chừng ba mươi dặm. Để ta đi hỏi cho.” Tử Phục mừng rỡ, khỏi bệnh ngay. Nhưng chờ mãi chẳng thấy Ngô Sinh quay lại. Chàng bèn giắt cành mai vào tay áo, một mình đi vào núi Tây.
Đi mãi qua núi non, chàng tới một xóm nhỏ, hoa nở đầy lối, có ngôi nhà tường thấp, trong sân trồng hải đường. Chàng đang đứng ngập ngừng thì nghe trong nhà có tiếng cười. Một bà cụ ra mở cổng, hỏi han, rồi nhận chàng là cháu, mời vào ăn cơm. Bà gọi: “Anh Ninh ơi, ra chào anh họ đi con.” Cô gái cầm cành mai bước ra, vừa thấy Tử Phục đã cười ngặt nghẽo, cười đến nỗi phải vịn vào cửa. Bà cụ lắc đầu: “Con bé này mười sáu tuổi rồi mà cứ như trẻ con, chỉ biết cười.”
Tử Phục ở lại mấy hôm. Chàng dắt Anh Ninh ra vườn, lấy cành mai ra cho cô xem, ngỏ lời thương mến. Cô vẫn cười, ngây thơ như chẳng hiểu gì. Bà cụ bảo chàng đưa em về ra mắt mẹ. Về tới nhà, mẹ chàng ngạc nhiên lắm, vì người chị của bà đã đi xa từ lâu, sao lại có con gái. Nhưng thấy Anh Ninh hồn nhiên, khéo tay, ai cũng mến. Cô cười suốt ngày, trồng hoa khắp sân, cả nhà như sáng bừng lên. Mẹ chàng chọn ngày lành cưới Anh Ninh cho con.
Sau nhà có một gốc cây già. Anh Ninh hay trèo lên hái hoa. Có anh hàng xóm thấy cô cười, tưởng cô có ý với mình, đêm ấy lén tới gốc cây hẹn hò. Nào ngờ chỗ anh ta ngồi chỉ là một khúc gỗ mục, trong hốc có con bọ cạp. Anh ta bị đốt một cái đau điếng, kêu la ầm ĩ, cả xóm kéo tới. Mẹ chàng mắng Anh Ninh: “Con cười đùa vô tư quá, người ta hiểu lầm, sinh ra chuyện.” Anh Ninh cúi đầu, hứa từ nay không cười nữa. Và từ đó, cô không cười thật, dù ai trêu cũng vậy.
Một đêm, Anh Ninh khóc, kể với chồng: “Thật ra mẹ thiếp là hồ ly. Bà cụ trong núi là mẹ cả, người đã khuất từ lâu, thương thiếp nên nuôi thiếp nên người. Bà nằm một mình nơi núi vắng, chàng có thể đưa bà về nằm cạnh cha chàng không?” Tử Phục thương vợ, cùng nàng vào núi Tây. Ngôi nhà xưa đã biến mất, chỉ còn cỏ hoa và một nấm mộ nhỏ. Hai người đưa bà về an táng chu đáo. Năm sau, Anh Ninh sinh một cậu con trai, gặp ai cũng cười. Nhìn con, nàng lại bật cười trong veo như thuở ban đầu.