Ngày xưa có chàng Phạm Công, nhà nghèo rớt mồng tơi, cha mất sớm, chỉ còn mẹ già đau ốm. Phạm Công vừa đi làm thuê, vừa xin cơm từng bữa để nuôi mẹ. Có hôm mẹ yếu không đi nổi, chàng cõng mẹ trên lưng đi khắp các làng. Vậy mà đêm đến, chàng vẫn mượn sách của người ta, đọc dưới ánh trăng, chữ nghĩa ngày một thêm thông. Một hôm, chàng xin ăn đến trước cổng nhà một phú ông giàu có trong vùng.
Phú ông có người con gái tên là Cúc Hoa, hiền hậu, nết na. Nàng thấy chàng trai rách rưới mà đối với mẹ già hết mực dịu dàng, lại thấy chàng ôm sách đọc bên gốc đa, liền đem lòng cảm mến. Nàng xin cha mẹ cho được lấy Phạm Công. Phú ông chê nghèo, nhất định không chịu. Cúc Hoa khóc lóc, nói rằng người có hiếu, có chữ, sau này ắt nên người. Cha mẹ thương con, đành gả nàng cho chàng. Cúc Hoa về nhà chồng, chẳng nề hà túp lều dột nát, ngày ngày dệt vải đem bán, lo cho mẹ chồng thuốc thang, lo cho chồng sách vở.
Mẹ chồng qua đời, Cúc Hoa cùng chồng lo ma chay chu đáo. Rồi nàng bán cả vòng vàng, khăn áo hồi môn, gom tiền cho chồng lên kinh dự thi. Phạm Công đi, Cúc Hoa ở nhà một mình trông nhà, chờ tin. Khoa ấy Phạm Công đỗ trạng nguyên, vua cho vinh quy bái tổ, cờ biển rợp đường. Chàng về đến làng, việc đầu tiên là tìm vợ, nắm tay nàng mà nói: “Có được ngày hôm nay là nhờ công của nàng.” Hai vợ chồng sống những năm hạnh phúc, sinh được hai con, con gái là Nghi Xuân, con trai là Tấn Lực.
Nhưng hạnh phúc chẳng được bao lâu. Cúc Hoa lâm bệnh nặng, thuốc thang thế nào cũng không khỏi. Biết mình sắp ra đi, nàng gọi chồng lại, nắm tay hai con mà dặn: “Thiếp đi rồi, chàng thương lấy con. Nếu được thì đừng lấy vợ kế, kẻo con thơ phải chịu khổ.” Phạm Công khóc mà thề sẽ ở vậy nuôi con. Cúc Hoa mỉm cười, nhắm mắt. Cả nhà khóc than thảm thiết. Phạm Công lập bàn thờ vợ, sớm tối thắp hương, ngày ngày tự tay chăm sóc hai đứa con thơ.
Thời gian trôi qua, triều đình có việc lớn, Phạm Công phải đi xa. Người nhà bảo hai con thơ không có người trông, lại có nhà quyền thế muốn gả con gái cho quan trạng. Phạm Công không cưỡng được, đành lấy Tào Thị làm vợ kế. Tào Thị bề ngoài ngọt ngào, nhưng lòng dạ nham hiểm. Chồng vừa đi khỏi, ả đã ra mặt hành hạ hai đứa con riêng. Ả bắt chúng làm việc nặng từ sáng đến tối, cho ăn cơm thừa canh cặn, đánh mắng không thương tiếc. Cuối cùng, ả đuổi cả hai chị em ra khỏi nhà, bảo chúng đi đâu thì đi.
Hai chị em dắt nhau đi xin ăn, đầu trần chân đất, đêm ngủ ở gốc cây, mái đình. Nghi Xuân thương em, xin được gì cũng nhường em ăn trước. Dưới cõi âm, hồn Cúc Hoa thấy con khổ thì đau đớn khôn cùng, xin Diêm Vương cho về thăm con. Đêm ấy, giữa ngôi đình hoang, hai chị em thấy một người đàn bà hiện ra, dịu dàng ôm chúng vào lòng. Đó chính là mẹ. Hồn mẹ cho con mấy nén bạc, bọc cơm nắm, dặn con hãy tìm đường lên kinh, tìm cha mà kể hết mọi chuyện. Trời sáng, hồn mẹ tan vào làn sương sớm.
Hai chị em nghe lời mẹ, dò đường lên kinh. Gặp đoàn quan quân đi qua, Nghi Xuân liều mình chạy ra trước kiệu mà kêu oan. Người ngồi trong kiệu chính là Phạm Công. Chàng nhìn hai đứa trẻ gầy guộc, rách rưới mà không nhận ra, cho đến khi Nghi Xuân kể chuyện mẹ mất, chuyện mẹ kế, chuyện hồn mẹ hiện về. Phạm Công ôm chầm lấy hai con mà khóc nức nở. Về nhà, chàng hỏi tội Tào Thị, rồi đuổi ả đi. Người ta kể kẻ ác ấy về sau không còn ai thương, phải chịu kết cục khổ sở như chính những gì ả đã gây ra.
Đoàn tụ với con rồi, Phạm Công càng thương nhớ vợ. Chàng nghĩ, vợ mình chết rồi còn thương con, vì con mà về, thì mình sao đành để nàng ở mãi nơi lạnh lẽo. Chàng nhịn ăn, ngày đêm cầu khấn, rồi tìm đường xuống cõi âm. Chàng đi qua những cánh đồng mây xám, những dòng sông đen không thấy bờ, những cây cầu nhỏ như sợi chỉ. Quỷ sứ ngăn đường, chàng không lùi bước. Đến trước điện Diêm Vương, chàng quỳ xuống kể hết công ơn của vợ, xin được đổi tuổi thọ của mình để vợ được sống lại.
Diêm Vương xem sổ, thấy Cúc Hoa cả đời hiền lành, có công nuôi chồng, thương con, lại thấy Phạm Công tình nghĩa thủy chung hiếm có, liền động lòng. Ngài cho hồn Cúc Hoa được trở về dương thế, sống lại cùng chồng con. Phạm Công dắt tay vợ đi ngược ra khỏi cõi âm. Khi mở mắt, chàng thấy mình đang ở nhà, Cúc Hoa nằm bên cạnh, khẽ gọi tên chàng. Hai con ùa vào ôm lấy mẹ. Cả nhà đoàn tụ, sống với nhau đến đầu bạc răng long. Người đời kể chuyện Phạm Công, Cúc Hoa để nói rằng tình nghĩa vợ chồng, tình mẹ thương con có thể vượt qua cả ranh giới sống chết.