นางพิกุลทองธิดาของท้าวสันนุราชกับนางพิกุลจันทราเป็นหญิงรูปงามและมีผมหอม เมื่อนางพูดจะมีดอกพิกุลทองร่วงจากปากทุกครั้ง วันหนึ่งนางลงสรงในแม่น้ำ เห็นพญาแร้งจิกกินสุนัขเน่าลอยน้ำมา ก็ด่าว่าพญาแร้งด้วยความรังเกียจ พญาแร้งอาฆาตแปลงเป็นหนุ่มรูปงามไปอาศัยอยู่กับตายายที่ชายป่า แล้วทำอุบายเนรมิตเงินทองให้ตายายร่ำรวยและให้ไปสู่ขอนางพิกุลทองแก่ตน ท้าวสันนุราชจะยกนางให้แต่ให้สร้างสะพานทองจากบ้านมาถึงวังภายใน 3 วัน พญาแร้งก็เรียกบริวารมาช่วยสร้างสะพานได้ นางพิกุลทองจึงต้องอภิเษกกับพญาแร้งแปลง แต่พญาแร้งไม่ได้ร่วมอภิรมย์กับนาง
วันหนึ่งพญาแร้งทำอุบายชวนนางเดินทางทางเรือไปบ้านเมืองของตน ระหว่างจอดเรือหยุดพัก พญาแร้งบินไปเรียกบริวารมากินคนบนเรือ ส่วนนางพิกุลทองนั้นพญาแร้งตั้งใจจะกินเอง แม่ย่านางประจำเรือสงสารจึงแยกเสากระโดงเรือให้นางพิกุลทองซ่อนตัวจนพ้นภัย เมื่อนางพิกุลทองออกมาสรงน้ำและสางผมอยู่ที่บันไดเรือ ผมเส้นหนึ่งหลุดติดมือมา นางจึงใส่ผอบและจารึกที่ฝาผอบเป็นเรื่องราวแต่หนหลัง อธิษฐานว่าถ้าผู้ใดเป็นคู่ครองของนางขอให้พบผอบนี้และให้ตามมาช่วยแล้วลอยผอบไป พระพิไชยมงกุฎโอรสท้าวสังข์ศิลป์ไชยกับนางสุพรรณเก็บผอบได้ เมื่อเห็นผมหอมและข้อความที่จารึกไว้ก็ออกตามหาเจ้าของ ระหว่างทางพบนางยักษ์กาขาวบริวารท้าวเวสสุวัณแปลงกายเป็นสาวงามมาลวงว่านางเป็นเจ้าของผมหอม พระพิไชยมงกุฎหลงเชื่อจึงอยู่กับนางในเมืองเนรมิตและได้นางเป็นชายา ต่อมาพระพิไชยมงกุฎสงสัยว่านางเป็นยักษ์จึงใช้มนตร์สะกดไว้แล้วเดินทางต่อไปจนพบนางพิกุลทอง เมื่อพญาแร้งบินมากินคนที่หาดทราย พระพิไชยมงกุฎสังหารได้แล้วพานางพิกุลทองไปเป็นชายาอยู่ที่เมืองของตน
หลายปีต่อมานางพิกุลทองมีโอรสกับพระพิไชยมงกุฎ 2 องค์ ชื่อรักและยม วันหนึ่งนางพิกุลทองกับสวามีและโอรสไปประพาสทุ่ง นางยักษ์กาขาวซึ่งลอบมาซ่อนตัวในป่าเนรมิตดอกบัวดอกใหญ่ขึ้นและแอบอยู่ในน้ำตามเรือไป เมื่อนางพิกุลทองเอื้อมเด็ดดอกบัว ก็ถูกนางยักษ์ฉุดลงไปในน้ำ แล้วสาปให้เป็นชะนี ฝ่ายนางยักษ์ก็แปลงเป็นนางพิกุลทองแทน พระพิไชยมงกุฎฉุดนางยักษ์แปลงขึ้นเรือ รักและยมบอกพระพิไชยมงกุฎว่านางผู้นี้ไม่ใช่มารดา ส่วนมารดาที่แท้จริงคือชะนีที่เดินร้องไห้ตามมาริมน้ำ พระพิไชยมงกุฎกริ้วจึงไล่โอรสทั้งสองขึ้นฝั่งแล้วพานางยักษ์แปลงกลับวัง
รักและยมตามหาชะนีพิกุลทองจนพบและอยู่ด้วยกันในป่า เก็บดอกพิกุลทองที่ร่วงจากปากนางไปแลกอาหารที่ตลาด พวกวิเสทพบสองกุมารจึงไปทูลนางสุพรรณ เมื่อรู้ความจริงแล้วพระพิไชยมงกุฎจึงพาโอรสทั้งสองไปหาชะนีพิกุลทองและถามวิธีแก้คำสาป ชะนีพิกุลทองบอกว่าต้องใช้เลือดนางยักษ์กาขาวมาอาบร่าง พระพิไชยมงกุฎจึงให้เสนานำนางยักษ์แปลงมาที่อุทยาน ออกอุบายให้นางนอนหลับ สั่งให้เพชฌฆาตฟัน แล้วนำเลือดไปรดร่างชะนี นางพิกุลทองจึงกลับเป็นมนุษย์ดังเดิม
ระหว่างที่นางพิกุลทองพร้อมพระพิไชยมงกุฎและโอรสเดินทางไปเยี่ยมท้าวสันนุราช นางยักษ์กาสุวรรณน้องของนางยักษ์กาขาวคิดจะแก้แค้นจึงใช้กระบองฟาดเรือสำเภาแตก ทำให้นางพิกุลทองพลัดกับพระพิไชยมงกุฎและโอรส แต่พระสมุทรช่วยนางขึ้นฝั่งได้ เมื่อเดินทางเมืองยักษ์ของท้าววิรุฬจักร ท้าววิรุฬจักรคิดจะได้นางเป็นชายาแต่นางไม่ยินยอม จึงส่งนางไปเป็นทาสทำงานในครัว ฝ่ายพระพิไชยมงกุฎกับโอรสออกตามหานางพิกุลทอง ได้แหวนวิเศษจากพระวสิษฐ์ฤๅษี จึงแปลงกายเป็นนกสาลิกา 3 ตัวอยู่ที่อุทยานของท้าววิรุฬจักร
นางอรุณวดีธิดาท้าววิรุฬจักรนำนกทั้งสามไปเลี้ยงในวัง พระพิไชยมงกุฎกลับร่างเป็นมนุษย์และได้นางเป็นชายา นางพิกุลทองสงสัยว่ามนุษย์ 3 คนที่สังหารท้าววิรุฬจักรจะเป็นสวามีกับโอรส จึงทดสอบด้วยการทำอาหารแล้วใส่ดอกพิกุลทองลงไป ทั้งหมดจึงได้พบกัน นางอรุณวดีใส่ความว่านางพิกุลทองประพฤติชั่ว นางพิกุลทองขอพิสูจน์ความสัตย์ด้วยการลุยไฟ พระพิไชยมงกุฎจึงรู้ความจริง