The story begins in Paris, in 1482. A celebration called Festival of Fools is held in the center of the city. It is the strange holiday, fun and cruel at the same time when every moral law can be broken. The culmination of the celebration is electing the Pope of Fools - the person who is the most unsuitable for the title of Pope.
The poet and playwright Pierre Gringoire is preparing to present his play to the audience. The play is quite dull by itself, so when the parade starts, the attention of the crowd switches immediately. The parade this year is really unusual: the Pope of Fools is now the bell-ringer of Notre-Dame Cathedral named Quasimodo. He is a deaf hunchback who is the ugliest person in all the Paris (in Middle Ages laughing at such people was considered funny). Quasimodo is simultaneously mocked and praised and paraded to the Place de Greve, where the celebration continues. Desperate to get his attention, Gringoire follows the crowd.
On Place de Greve a young Gypsy girl named Esmeralda is dancing and performing tricks with her trained goat Djali. She is pretty and skilled and does nothing wrong, but still an old woman standing nearby shouts at her, calling her a kidnapper and accusing Esmeralda of stealing her baby daughter years before (the accusation is highly dubious, because the old woman is old enough to be Esmeralda’s own mother).
Archdeacon Claude Frollo, an aged strict man suddenly appears on the square and stops the parade, ordering Quasimodo to return with him to the cathedral immediately. The hunchback leaves with him. The feast isn’t so entertaining anymore, the mood is ruined, so the crowd also starts to dissolve. Esmeralda finishes her dance and goes home with her goat. Enchanted by her beauty and grace (and her goat too), Gringoire follows the girl, but as soon as he turns around the corner after her, he sees that Esmeralda is attacked by Frollo and Quasimodo. Gringoire rushes for help, but is knocked out by the hunchback who is way stronger than the poet. Frollo runs away, leaving Quasimodo behind.
Luckily for Esmeralda, the squad of King’s Archers was patrolling the streets and heard the noise. They arrive just in time to capture Quasimodo and help poor Esmeralda. Esmeralda herself is stunned by the captain of the squad named Phoebus de Chateaupers, who literally saved her life.
When Gringoire comes to his senses again he resumes wandering the streets, but this time he isn’t as lucky. The poet takes the wrong turn and finds himself in one of the most dangerous districts, the Cour des Miracles, where all the beggars, thieves, criminals and homeless people live. This place, nevertheless, has its own order and even its own King, Clopin Trouillefou. Clopin may be a benevolent ruler for his people, but he shows no mercy to the invader, ordering to hang him on the spot, unless one of the women present agrees to marry him for no less than four years. Esmeralda, who lives here as a Gypsy and thus an exile, steps forward. She is a very kind person and also she remembers the one who tried to save her. They are married right there and Gringoire can’t believe his luck. But Esmeralda is adamant to his advances, politely but strictly explaining him that she married him to save him, not because she loved him or is ready to obey him like a husband now.
In the meantime we, as readers, learn about the story that connects Frollo and Quasimodo. Sixteen years before the events of the book, Frollo, who wasn’t Archdeacon yet, found a horribly deformed baby near the cathedral. The priest adopted him, knowing that he is doing the good dead and out of love to his another adopted child: an infant named Jehan. Frollo raised the baby into extremely strong and fiercely loyal young man he named Quasimodo. But, as years passed, Frollo became more and more corrupted with power, his actions became more dubious and his temper - much meaner. Secretly, Frollo started studying alchemy and magic. Also for some reason he is a misogynist, especially hating Gypsy women.
One day before the Festival of Fools Frollo accepted rare guests in his chambers: the King’s own physician and the mysterious man who later appeared to be the King of France himself. They all discuss the nature of the science, magic and alchemy. It becomes clear that, disregarding his devotion to church, Frollo is considered the alchemist of such a high level that even the King comes to seek advice from him. Through this episode the author transfers his own worldview and his opinion about alchemy and technical progress that can kill the beauty of the past.
The narrative returns to the present. Quasimodo is captured, imprisoned, interrogated and condemned to public tortures for two hours on that very same Place de Greve. He is stretched in the middle of the square, suffering both from physical pain and from the intense mockery from bystanders, who saw an ugly man in pain like a great amusement and way to vent their anger. While Quasimodo is tortured, the three women are gossiping around. They discuss the fate of Paquette la Chantefleurie, a prostitute who had a beautiful daughter and lost it stolen by the Gypsies fifteen years ago. Now Paquette is half-crazy and aged, nicknamed the Sack Woman and living in the “rat hole” in Place de Greve. The women decide to bring a cake for the poor woman, who is now looking with hatred at Esmeralda, dancing nearby again. Quasimodo is exhausted with torture and is on the brink of fainting. He asks for water, but no one has mercy to give him some. Esmeralda is the one to cease dancing and to bring him the cup of water.
A few months later Esmeralda is still dancing at that very square. Meanwhile Phoebus is sitting with his fiancee-to-be and her friends and is bored with her to death. She is a nice and proper girl, maybe too nice and proper, as every girl in the room so, when the captain looks out from the window and see the young Gypsy girl he rescued before, he decides to go down and invite her to dance for them. Esmeralda performs great, but the girls immediately become jealous to her exotic beauty, grace and openness. The last straw is when Djali combines the cards with letters into the word Phoebus. The captain’s fiancée orders Esmeralda to get out immediately and she obeys, but Phoebus decides to follow her.
Phoebus and the girls weren’t the only one looking at Esmeralda’s dance. Claude Frollo also watches her and is overwhelmed with lust and desire, to the point he almost loses his mind again, like the previous time when he ordered Quasimodo to capture the young Gypsy. Frollo sees that a strangely dressed man comes to Esmeralda to take her away and runs down burning with envy. Frollo notices that Quasimodo was also watching the Gypsy’s performance. The strangely dressed man is Gringoire, who involuntarily became one of the inhabitants of Cour des Miracles as Esmeralda’s husband. Learning that Esmeralda is married now, the Archdeacon is infuriated and starts interrogating Gringoire about whether he slept with her.
Frollo can’t throw Esmeralda from his head no matter what. Weeks later, his adopted child Jehan comes to him to borrow some money. Frollo invites him into his cell, but their talk is interrupted by another visit and Frollo has to hide Jehan in his room while talking to the other person about some shady alchemy business, and also framing Esmeralda for being a witch. Hearing this and getting the money, Jehan goes to his best friend Phoebus (who is going to date Esmeralda for the first time today and seduce her right away) and tells him everything.
Phoebus goes to rent a room for the date, but he is caught by a mysterious hooded figure. The unknown man offers to rent a room for him, but he wants to stay hidden there and watch what will happen between him and Esmeralda. Surprisingly, Phoebus agrees to save the money. He hides the man in the room and brings Esmeralda there, starting seducing the girl who is too much in love to resist. But when she is ready to surrender, Frollo (he was the hooded man) rushes towards Phoebus and stabs him in the back. The last thing Esmeralda remembers before she loses conscience is Frollo kissing her. When she comes to her senses, she is accused of killing Phoebus.
Esmeralda manages to disappear for a month, but she is caught and put to trial. Her disappearance is an obvious sign for the judges that they are dealing with a witch. Esmeralda outright refuses to admit her witchcraft, but when the torture start she is ready to tell everything the judges want to hear. The girl is immediately condemned to death and thrown into the prison. While she is awaiting for execution, Frollo comes to her cell, confessing his love and begging her to run with him. Esmeralda refuses with disgust, accusing him of Phoebus’ murder. Enraged, Frollo admits it and tells her that her beloved is indeed dead and she will also be dead tomorrow.
In the morning Esmeralda is carried to the square to be hanged. Frollo is present and he asks her one last time whether she changed her mind. The girl refuses again. In the meantime Phoebus (who survived the injury) is going to his fiancée, with whom he reconciled earlier. Esmeralda sees him and he clearly sees her too, but turns away, he doesn’t need any extra problems right before his wedding. The girl understands that she was betrayed and faints. In that very moment Quasimodo, who couldn’t stand seeing the execution of the second living being that was kind to him, jumps from the cathedral and steals the body of the unconscious Esmeralda, enraging and amusing the crowd.
Quasimodo takes her to Notre-Dame Cathedral, demanding sanctuary - it was a tradition that time that no one could be harmed if they came to the church pleading for sanctuary. Now Esmeralda is relatively safe - luckily for both of them, Frollo left too early to see Esmeralda’s rescue. Quasimodo hides her in one of the rooms in the cathedral, trying to appear there only in darkness, so that he won’t traumatize her with his appearance. Gradually, they warm up to each other and befriend each other. Esmeralda sings and dances for Quasimodo and he, though deaf, likes to be near her, watching the girl.
When Frollo returns to the cathedral, he sees and hears Esmeralda, despite all the attempts of Quasimodo to hide her. But - luckily for them again - the Archdeacon decides that it is her spirit that came to haunt him. Meanwhile, Quasimodo, understanding that their cover will soon be blown, tries to communicate with Phoebus, asking him for help, but Phoebus - now an almost married man - refuses to come. Frollo indeed soon discovers that Esmeralda isn’t a ghost and tries to rape her. Quasimodo rushes for her defence and almost kills Frollo, but backs up at the last moment, remembering that the Archdeacon is almost a father for him.
Frollo decides to start an intrigue. He contacts Gringoire, saying that Quasimodo is holding Esmeralda hostage and asks him to help rescue her. Gringoire gathers an army of Tramps from the Cour des Miracles and they attack the cathedral. Quasimodo, not knowing that they have good intentions, fights until he can, killing and injuring lots of Tramps using everything from stones to molten lead. When it seems that all is over, Phoebus, feeling guilt-ridden, comes to the rescue. But when they survive the attack and Quasimodo checks Esmeralda’s room it is empty.
Gringoire managed to steal Esmeralda and Djali, but suddenly he finds the goat much more attractive than his wife and takes only Djali, leaving Esmeralda to Frollo. The Archdeacon takes her to the square, giving another choice: living with him or going to the gallows. Esmeralda is persistent, choosing the gallows again. Frollo throws her to Sack Woman, knowing that she will hold the so hated Gypsy until he calls the guards. Sack Woman is indeed delighted to see the suffering of the Gypsy. She offends Esmeralda in every possible way, but in the end she shows the girl a little baby shoe of her daughter stolen by the Gypsies - and it turns out that Esmeralda always had another shoe of that pair with her - it was the only thing that she had as a memory of her childhood. Sack Woman understands that Esmeralda is her long-lost daughter. Now she is desperate to hide her, but she isn’t sane and isn’t a skilled enough liar to make it. The guards pull the both women from the hole Sack Woman was living in and take Esmeralda to the gallows.
Quasimodo watches everything that is happening from the cathedral. This time he, exhausted and injured, can do nothing. But he notices that Frollo is also watching - and laughing when Esmeralda is dying. Driven mad by grief and hatred, Quasimodo grabs the Archdeacon and throws him down from the cathedral, killing Frollo. Coming to his senses, Quasimodo looks at the hanged Esmeralda and Frollo, laying on the stone pavement of the square, both dead. He solemnly says that here lies everything he ever loved and disappears. No one ever sees Quasimodo again.
Gringoire, finally free of his marriage, continues to write his awful plays, Phoebus gets married and lives happily ever after. Some years later, during the excavation of Montfaucon - the common grave for the bodies of criminals - people find two skeletons: one belonged to a young woman and another one of a hunchback, hugging her tightly.