I VEIKSMAS
Giudulė augina dukrą. Agnesė – toks jos vardas – visus žavi savo grožiu ir meilumu. Giudulei nesant namuose, dukrelė staiga dingsta. Vietoje žavios dukrelės lopšyje ji išvysta kitą kūdikį – išsigimėlį kuprių. Giudulė nutaria, kad dėl dukrelės dingimo kaltos čigonės. Apimta sielvarto, ji netenka dvasios ramybės ir tampa vienuole atsiskyrėle. Lopšyje paliktu vaiku ima rūpintis bažnyčia ir jos tarnas, jaunas kunigas Klodas Frolas.
Praėjo keliolika metų. Mieste vyksta šventė – kvailių festivalis. Žmonių minia laukia poeto Pjero Grenguaro naujai sukurtos misterijos. Pasirodymo pradžią sutrikdo Žakas Kopenolis – iš Flandrijos atvykęs politikas ir trikotažo prekeivis. Jis kviečia žmones į kvailių popiežiaus rinkimus. Juo išrenkamas netikėtai minioje pasirodęs Kvazimodas – lopšyje andai rastas dabar jau Paryžiaus katedros arkidiakono Klodo Frolo globotinis, tapęs katedros varpininku. Vienoje iš miesto aikščių tuo pat metu šoka ir dainuoja Stebuklų rūmais vadinamo pogrindinio čigonų, ubagų ir nusikaltėlių kvartalo augintinė Esmeralda. Nors miestiečiai ją myli, bet vadina burtininke. Tai nepatinka arkidiakonui Frolui, žadina ir bažnyčios pyktį. Frolą dar labiau įsiutina tai, kad jo auklėtinį kuprių varpininką minia karūnavo kvailių popiežiumi. Arkidiakonas liepia Kvazimodui padėti jam slapta sučiupti nepaklusniąją „burtininkę“. Tamsiame skersgatvyje juodu patyko ir užpuola namo grįžtančią Esmeraldą. Merginą išgelbėja turtingas jaunuolis, karaliaus lankininkų kapitonas Febas, padedamas savo apsauginių. Esmeralda įsimyli savo gelbėtoją, tačiau jo jausmus ir mintis užvaldę visai kiti norai ir tikslai...
Nepavykus misterijai, poetas Grenguaras netenka pastogės. Jis priverstas naktį praleisti ubagų ir vagių karaliaus Klopeno valdomame kvartale, kur patiria tikrą siaubą ir pažeminimą. Iš priverstinės draugijos jį išlaisvina Esmeralda, kurią kvartale visi gerbia...
II VEIKSMAS
Minia tyčiojasi iš Febo sugauto Kvazimodo. Tai matydama, Esmeralda guodžia kuprių. Merginos paguoda jam sužadina jausmus.
Febas ir jo sužadėtinė Flerdelisė pageidauja, kad Esmeralda jiems pašoktų. Esmeraldos žavesys pakeri ir Frolą – ankstesnę neapykantą keičia aistra jai. Nuo ano vakaro Stebuklų rūmuose Esmeraldą visur lydi Grenguaras. Didžiausia jo bėda - nepriteklius, tad jis ryžtasi niekšingam sandėriui su Frolu. Laikydamasi duoto pažado, Esmeralda apsilanko Flerdelisės namuose. Čia išaiškėja, kad Esmeralda įsimylėjusi Febą. Meile Esmeraldai liepsnoja ir Kvazimodo širdis.
Susigundęs jam siūlomais pinigais, Grenguaras išduoda Frolui žinią apie Esmeraldos ir Febo pasimatymą ir visam laikui dingsta iš miesto. Papirkęs Febą, Frolas gauna jo leidimą slapčia stebėti jų pasimatymą su Esmeralda. Matydamas juos besiglamonėjančius ir pagautas pavydo, jis smogia Febui peiliu ir sprunka. Nors Febas pasirodo esąs tik nesunkiai sužeistas, Esmeralda suimama, apkaltinama jo nužudymu ir uždaroma į kalėjimą. Frolas ateina išklausyti paskutinės Esmeraldos išpažinties. Jiems bekalbant, mergina atpažįsta užpuoliką. Frolas žada ją išgelbėti, už tai jai siūlydamas tapti jo meiluže. Esmeralda prisipažįsta mylinti tik Febą ir atmeta arkidiakono pasiūlymą. Jos laukia kartuvės. Ši žinia pasiekia ir dėl dukros dingimo iki šiol sielvartaujančią Giudulę. Ji džiaugiasi, kad jos nekenčiamų čigonų globotinė bus pakarta. Ateina egzekucijos diena, iš balkono bausmės vykdymą stebi sveikstantis Febas su savo sužadėtine Flerdelise. Užuot suteikęs paskutinį palaiminimą, Frolas vėl siūlo Esmeraldai tapti jo meiluže. Esmeralda dar sykį atsisako. Teismo vykdytojas įsako vykdyti nuosprendį. Visų nuostabai Esmeraldą išgelbėja netikėtai pasirodęs Kvazimodas ir paslepia ją katedroje. Niekam, net bausmės vykdytojams, nevalia suimti nusikaltėlių, besislepiančių katedroje – kol jie čia, jiems niekas negresia. Anksčiau Esmeraldos mirties troškusi minia dabar puola ant kelių ir šlovina Viešpatį...
III VEIKSMAS
Kvazimodas paslepia Esmeraldą katedros bokšte. Jis jai pasakoja apie nuostabų sodą, pasodintą Dievo Motinos garbei. Jos paprašytas, Kvazimodas aprodo sodą ir pasakoja jį sodinęs drauge su arkidiakonu Frolu. Vos išgirdusi šį vardą, mergina įsiplieskia neapykanta šiam žmogui. Kuprius tvirtina, kad Frolas anksčiau buvęs geru žmogumi, tačiau dabar jį apėmusi nepagydoma didybės liga. Kad Esmeralda nusiramintų, kuprius ją palieka nakvoti sode, o pats atokiau lieka sergėti jos miegą. Vos jam pasišalinus, pasirodo Frolas. Apsėstas nepadorių minčių, jis meldžia Dievo Motinos pagalbos... Tačiau išvydęs Esmeraldą vėl netenka proto. Staiga sugrįžęs Kvazimodas pirmą kartą gyvenime puola savo globėją ir jį išveja iš sodo. Likusi viena, Esmeralda šaukiasi Febo. Bet vietoje jo vėl pasirodo Frolas ir žada jai laisvę mainais į aistros patenkinimą. Mergina vėl atstumia niekinamą persekiotoją.
Frolas griebiasi klastos: kviečia vienuolę Giudulę, kad jos rankomis nužudytų nepasiekiamą mylimąją. Kerštu degančiomis akimis Giudulė artinasi prie tariamos čigonaitės... Esmeralda apsigina nuo vaikystės nešiojamu amuletu. Tokį pat amuletą Giudulė gniaužia savo rankose... Paaiškėja lemtinga tiesa: Esmeralda – pradingusi Giudulės dukrelė. Motina ir duktė apsipila džiaugsmo ašaromis... Tokias jas užtinka sugrįžęs Frolas. Apimtas nevaldomo pykčio nužudo jas abi ir nusižudo pats. Liejasi širdį verianti mylimos Esmeraldos netekusio Kvazimodo daina...