Once upon a time, in a little-known kingdom called France...
Okay, it's not once upon a time: it's specifically January 6th, 1482, and a crowd of Parisians are celebrating the Festival of Fools by waiting for a play to begin. It's been written by the obliviously untalented Pierre Gringoire. But a series of distractions ensue, and instead of watching the play, the crowd ends up holding a contest for the ugliest Pope of Fools. The honor is given to Quasimodo, the bell-ringer of Notre-Dame.
Gringoire, intent on escaping the festivities, finds himself in the very heart of it at the Place de Grève, where a beautiful gypsy named Esmeralda is dancing and performing tricks with her pet goat, Djali. Esmeralda has two hecklers: a bald priest and a crazy old woman.
Just then, the procession of the Pope of Fools enters the Place de Grève with Quasimodo as its centerpiece, and the bald priest from earlier, whom Gringoire recognizes as the Archdeacon Claude Frollo, puts a stop to it all by scolding Quasimodo. Turns out Frollo is Quasimodo's master. The two of them leave.
Gringoire decides to follow Esmeralda and inadvertently witnesses her attempted kidnapping by Quasimodo and another man. He tries to intervene but gets knocked out. Luckily, a handsome captain named Phœbus comes to Esmeralda's rescue and arrests Quasimodo.
When Gringoire comes to, he wanders the streets and accidentally finds himself in the Cour des Miracles, where all the underbelly of Paris hangs out. Their king, Clopin Trouillefou, plans on hanging Gringoire unless one of the gypsy women is willing to marry him. Esmeralda steps up.
Sixteen years earlier, a severely deformed foundling was left at Notre-Dame. He was adopted by a younger Claude Frollo, who sympathized with the boy out of love for his other adopted child: his infant brother Jehan. Fast-forward sixteen years, and Quasimodo is extremely devoted to Frollo. Frollo, unfortunately, has gotten meaner and darker with age. He is obsessed with alchemy, and he hates women—particularly gypsies.
One night, about a year before the events of the novel, Frollo receives a visit from the King's physician and another guest. They discuss the legitimacy of alchemy, science, medicine, and astrology. It is revealed at the guest's departure that he is in fact Louis XI, the King of France. During the meeting, Frollo makes a passing comment about how the printing press will destroy the cathedral. The narrator gives a lecture on that.
Back to plot. Quasimodo is brought to trial, and unfortunately, both he and his judge are deaf. Hilarity ensues in the courtroom, but as a result, Quasimodo is sentenced to a flogging and two hours in the pillory.
Meanwhile, three women and a young boy discuss the story of Paquette la Chantefleurie, a woman of, um, loose virtue, whose beautiful baby girl was taken and probably eaten by gypsies fifteen years ago. In the infant's place, they left a deformed child. A woman who has holed herself up in the "Rat Hole" at the Place de Grève for the past fifteen years turns out to be this same Paquette, and the three women are bringing a cake to her. Oh, and this woman—known as the Sack Woman—hates Esmeralda.
Quasimodo is brought to the Place de Grève and flogged. While the crowd harasses him, he asks for some water. Esmeralda alone heeds his plea and gives him some water.
A few weeks later, Captain Phœbus is sitting with his betrothed and her embroidering circle, and he is bored to death. He hears the sound of a tambourine in the square below and recognizes Esmeralda. The girls get Esmeralda to come up and dance for them, but they get totally jealous of her beauty when she arrives.
One of the girls lures Djali, Esmeralda's goat, into a corner, and the goat performs one of her tricks by spelling out the word "Phœbus" with lettered tiles. The girls throw Esmeralda out, and Phœbus follows her.
While Esmeralda was dancing in the square, Frollo had been watching her from his cell in Notre-Dame. He sees that she is with a strangely dressed man, and hurries downstairs to see what's up. On his way down, he notices that Quasimodo is staring down at the square as well. Frollo recognizes the strangely dressed man as Gringoire, who has become one of the Tramps. When Frollo hears that Gringoire is now Esmeralda's husband, he flips out and keeps questioning Gringoire about whether he has slept with her.
One day in March, Frollo's dissolute, broke younger brother Jehan decides to go ask his brother for some money. While he's with his brother in his cell, another man visits, and Frollo has Jehan hide. The second man talks some shady alchemy business with Frollo but then mentions Frollo's request to arrest Esmeralda as a sorceress. Frollo turns pale at this and diverts the question. Seeing a fly caught in a spider's web, he goes on a tirade about fate.
When the two men leave, Jehan crawls out of his hiding place and meets up with Phœbus. The two go get drunk together before Phœbus's hot date with Esmeralda that night. On his way to his rendezvous he is accosted by a hooded figure, who questions him and then gives him money to pay for a room—so long as the hooded figure can hide in the closet and watch. Weird? Nasty? Yup, but Phœbus, not being the brightest crayon in the box, goes along with it.
Phœbus gets Esmeralda into his room and is in the process of seducing her when he is stabbed by Frollo. Esmeralda sees Frollo's face and feels him kiss her as she faints. When she wakes up, she is being accused of stabbing Phœbus.
Esmeralda disappears for a month, and then she is brought to trial. It looks like witchcraft to the judges, but Esmeralda refuses to confess to the murder, so they have her tortured. She confesses immediately and is sentenced to be hanged.
Esmeralda is taken to an underground prison, where Frollo comes to see her. He says that she is going to be killed tomorrow; then he confesses his love for her and begs her to come away with him. Esmeralda is disgusted and refuses. Enraged, Frollo tells her that Phœbus is dead.
Phœbus, meanwhile, is totally not dead. In fact, he's trying to start things back up with Fleur-de-Lis. He's at her house the day Esmeralda is to be hanged, and he sees her being led in front of the cathedral to do penance before her execution. Frollo is present, and he asks Esmeralda again if she will be his. She totally refuses.
Esmeralda is about to be led away when she sees Phœbus watching; she faints. Just then, Quasimodo emerges from the cathedral, grabs Esmeralda, and carries her inside, claiming sanctuary. The crowd goes wild.
Frollo, meanwhile, has left too early to see the rescue. When he returns to the cathedral, he sees Esmeralda and thinks that he's seeing her ghost. Quasimodo sets Esmeralda up in a little room, avoiding her during the day so that she doesn't have to look at him. He tries to fetch Phœbus for her, but Phœbus refuses to come.
Frollo, who has since found out what happened, tries to rape Esmeralda one night. Quasimodo stops him and seems like he's about to kill him, but when he realizes that it's Frollo, he backs off.
Frollo asks Pierre Gringoire to help him rescue Esmeralda from the cathedral. Gringoire gathers an army of Tramps, and one night, they attack the cathedral. Quasimodo mistakes their intent and, thinking that they mean the gypsy harm, batters them with beams and stones and molten lead.
Just when it looks like Quasimodo's about to lose the cathedral, it's Phœbus to the rescue. Quasimodo rushes to Esmeralda's room only to find it empty.
During the attack, Gringoire and Frollo sneak in to get Esmeralda and Djali. They get in a boat and row away from the cathedral. When they hit land, Gringoire leaves with Djali. Frollo drags Esmeralda to the Place de Grève and demands that she choose between him and the gallows. She opts for the gallows.
Frollo gives Esmeralda to the Sack Woman to hold on to while he gets the sergeants. The Sack Woman is delighted that the gypsy she hates so much is going to die. When she shows Esmeralda the little shoe of her lost child, Esmeralda produces its mate from the necklace she always wears.
The Sack Woman, finally reunited with her long-lost child, tries desperately to hide Esmeralda when the soldiers come. Unfortunately, she's not a very good liar, and they drag her and Esmeralda out of the cell. The Sack Woman dies as Esmeralda is carried to the gallows.
Meanwhile, at Notre-Dame, Quasimodo is upset that Esmeralda is missing. Then he sees Frollo watching the Place de Grève from one of the towers. As Esmeralda is hanged, Frollo laughs. When Quasimodo sees this, he grabs Frollo and throws him from the tower.
Frollo is able to hang on to a gutter long enough to see the abyss below him—and to see Quasimodo weeping. Then he falls. Quasimodo looks at Esmeralda and Frollo and proclaims that there is all he has ever loved.
That day, Quasimodo disappears. Gringoire continues to write plays, and Phœbus gets married. About two years later, at Montfaucon (a giant gallows and vault for the bodies of criminals), two skeletons are found that have dragged away from the rest. One belongs to someone with a deformed spine, and it is clutching the body of a woman. When they attempt to drag the man's skeleton from the woman's, it falls to dust.