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