Juan Crisóstomo Ibarra y Magsalin, commonly referred to as Ibarra, has been studying in Europe for the past seven years, though he is a mestizo Filipino. As he arrives back in the Philippines, his friend, a prominent man named Captain Tiago, hosts a reunion dinner. Ibarra had been in Europe for such a long time that he doesn’t know what has been going on in the country. At dinner, Father Dámaso, who Ibarra thought was friends with his father, treats him badly, which surprises Ibarra.
As Ibarra is walking home from the dinner, another family friend, Señor Guevara, follows him and tells him that Ibarra’s father died in prison after a campaign of slander against him, and that Father Dámaso had a hand in his death. Father Dámaso had accused the elder Ibarra of not going to confession, and after Rafael Ibarra inadvertently killed a man who beat a young boy, he was imprisoned and attacked with accusations of subversion and heresy. Guevara tried to clear his name, but he died in prison before he could be freed. The younger Ibarra is shocked, but unsure of what to do. He goes to visit his old lover, Maria Clara, but as Maria mentions Ibarra’s family, Ibarra is put off.
Instead of seeking revenge, Ibarra tries to follow his father’s footsteps of peace. After meeting with a schoolmaster who knew his father, he plans on establishing a public school to help his hometown. Yet the schoolmaster warns him that Father Dámaso meddles in the school system, preventing students from learning Spanish and demanding that he beat the students. Ibarra pitches the idea of the school to town officials, pretending that he wants to work with them on it, and they agree.
Meanwhile, two young boys, Crispín and Basilio, work as sextons to support their impoverished mother, Sisa, who is abused by their father. When Crispín is falsely accused of theft, the brothers must work even more. When he protests, Crispín is severely beaten, while Basilio escapes. He returns the next day to look for his brother, but can't find him. Sisa looks for both her sons, losing her mind as she wanders the area in search of them.
Ibarra goes to his father’s grave, seeking peace. He is shocked to discover that his father’s corpse was removed and supposedly put into a Chinese cemetery at the order of the town's curate—Father Dámaso.
During the town's festivities, Ibarra and the officials plan to celebrate the new school, hoping to bless it after a sermon by Father Dámaso. During the sermon, a mysterious man named Elías approaches Ibarra, warning him of a plot to kill him. Elías had been the boatman on an earlier excursion Ibarra took with friends, but after the excursion, Ibarra discovered he was a wanted fugitive.
That night, Father Dámaso invites himself to a dinner Ibarra is hosting. He insults both indigenous Filipinos and Ibarra’s father specifically. He punches Father Dámaso, but before he can kill him, he is stopped by María Clara.
Ibarra is excommunicated, and María Clara falls ill, then is reengaged to a new man after her spineless father calls off her wedding to Ibarra. Meanwhile, the Captain General, the highest Spanish official in the novel, manages to lift Ibarra's excommunication, angering the clergy. Ibarra continues working on the school, and Father Salvi, who is in love with María Clara, plots with Lucas, the brother of a man killed by the plot intended to kill Ibarra at the festival, to frame Ibarra for a rebellion, organizing people with grievances against the colonial government and telling them that Ibarra is leading the revolt. Right before the attack happens, Father Salvi warns everyone, claiming someone told him about it in confession.
Ibarra is thrown into prison, having been found guilty based on a letter he wrote to María Clara before leaving for Europe years ago. Again, Elías rescues him, breaking him out of prison and taking him to María Clara. She explains that she gave Father Salvi the letter that led to Ibarra being found guilty because he blackmailed her: he knew that her real father is Father Dámaso, and threatened to reveal this information. She apologizes to Ibarra, profoundly sorry.
Elías and Ibarra row away, but they quickly realize they're being followed by another boat, which will soon catch up. Elías jumps off the boat to confuse their pursuers, who think he is Ibarra and try to shoot him while the real Ibarra escapes. They appear to kill him, but they never see his body.
María Clara tells Father Dámaso that she can't marry Linares, the man she is now engaged to, and threatens to commit suicide if she is not allowed to enter a convent. Because a newspaper reported Ibarra is dead, she cannot bear the thought of being married to another man. Father Dámaso reluctantly agrees.
On Christmas Eve, Basilio wanders away from the cabin where he's been staying with an adoptive family and looks for Sisa, his mother. He finds her, but she doesn't recognize him and runs away. Finally, he catches her and faints, and she dies of shock, having finally recognized him. Elías appears, telling Basilio that he is about to die, and asks Basilio to put his body with Sisa's on a funeral pyre. "I die without seeing dawn’s light shining on my country…You, who will see it, welcome it for me…don’t forget those who fell during the nighttime," he says.