Zélie Adebola, a headstrong teenage girl, practices sparring with a classmate. Unlike her classmate, Zélie is a divîner, meaning she has luminous white hair and, in theory, the ability to do magic. In Orïsha, the fictional, West Africa-inspired country where this story takes place, divîners are still suffering from a horrific event that happened more than a decade ago, when the monarchy, helmed by King Saran, carried out the systematic murder of all divîners over the age of thirteen. On that day, the group lost their connection to the gods, and with it, their ability to do magic—and Zélie lost her mother, a deeply painful memory that still haunts her. Now, divîners are feared and reviled, treated by the nobility as second-class citizens. Zélie practices fighting so that she can protect her family and herself from the brutal royal guards who are ostensibly there to protect them, but really, with their crude ways and snow leopanaire-emblazoned armor, are just a threat.
Zélie’s older brother, Tzain, bursts into the practice space to tell Zélie they need to go home immediately. There, they find their father, Baba, badly shaken after an encounter with the guards. They came demanding payment from households containing divîners. Levying ever-higher taxes on divîners is just one way that Saran keeps them under his thumb and unable to fight back. Zélie and her brother travel to the capital city of Lagos, hoping to make a trade that will help them cover the new taxes.
Meanwhile, Princess Amari sits in Orïsha’s palace enduring her mother’s usual harsh criticisms. Amari feels confined and stifled by her life. Her only source of solace is Binta, a young divîner serving girl who is Amari’s only friend. Realizing Binta is missing, Amari creeps into the throne room only to see a strange and horrifying sight: her father’s adviser Admiral Kaea forces Binta to touch a scroll, which activates her ability to do magic. When colorful light begins to pour from Binta’s hands, the king brutally stabs her, killing her instantly. Later, Amari secretly steals the scroll, and, concealing her identity, Amari slips out of the palace and runs into the bustling market.
There, she collides with Zélie and begs for her help. Zélie is reluctant, but knows she has a responsibility to help those who cannot help themselves. She helps Amari weave through the guards in the city. Just as they are cornered by guards lead by Amari’s brother—the soldier prince, Inan—Tzain leaps the city wall on Nailah, a lionaire, and grabs Amari and his sister. They escape and hurry back towards the coastal city. Zélie is angered when she discovers Amari’s identity, but feels she has no choice but to help her. Touching the scroll seems to awaken Zélie’s powers, too. She feels she may be a Reaper like her mother, with power over the spirits of the dead. They consult with Mama Agba, Zélie’s staff instructor. She reveals that she is a Seer, and that Zélie is fated to carry out a quest to restore magic to the land. Zélie is reluctant.
At that moment, Inan and a group of guards, sent by Saran, arrive and set fire to the city. In the ensuing chaos, Zélie, Mama Agba, Tzain, and Amari barely escape with their lives. Zélie, Tzain, and Amari begin the journey to Chândomblé, a temple where they believe they can find help. In hot pursuit, Inan starts to have strange visions of Zélie, and they seem to be able to meet in a field-like dreamscape that he has inadvertently created. He worries that he has become infected with magic as a white streak appears in his hair.
Zélie, Tzain, and Amari arrive in Chândomblé where the meet a sentâro, or priest, named Lekan. He is the last surviving member of his order. He tells the group of the great myths of the gods, stories that remind Zélie of her mother. He also tells them that the scroll, along with two other artifacts—the bone dagger and the sunstone—must be brought to a special island and used in a ceremony to restore magic on the exact moment of the solstice, which is fast approaching. He performs a strenuous ceremony of his own to awaken Zélie’s magic fully. Inan and Kaea arrive and attack, murdering Lekan—but the three escape and destroy a rope bridge behind them, leaving Inan and Kaea stranded at the temple. Inan begins to feel his magic more and tries to suppress it out of fear of the hatred it will bring from his father. However, he also thinks it may be helpful in his quest to kill Zélie and destroy magic. When Kaea sees him attempting to use magic, Inan loses control of his fear and anger, and accidentally kills her with his newfound powers.
Zélie, Amari, and Tzain arrive at a bustling town in the desert. A massive arena has been constructed there, where nobles force divîners to fight to the death over a mysterious prize. When the three learn that the prize is actually the sunstone, they decide that their only choice is to enter the competition themselves and try to win it. The competition is incredibly fierce, and Amari is forced to kill, which makes her think of the training her father forced her to endure growing up. But eventually, they are victorious, and secure the sunstone, the last artifact they need to perform the ritual.
As they head for the coast, Inan catches up them and Zélie decides to face him. As the two begin to fight, Tzain and Amari are captured by masked divîners and carried off into the jungle. They are taken to an encampment of divîners who torture Tzain for information, not believing the remarkable tale that Amari tells them. Meanwhile Inan and Zélie decide reluctantly to band together to try to save their siblings. As they are devising a break-in strategy, Inan’s powers suddenly allow him to experience a vision of all that Zélie has experienced in her lifetime—her memories of the Raid, her suffering under Saran’s oppressive regime, and her fight to bring magic back. He is struck with a wave of empathy and affection and begins to question his father’s policies.
Feeling ill-prepared but desperate, Inan and Zélie launch their attack on the encampment. They are surprised when a swarm of divîners, including some who can use their powers, begin to fight them. Suddenly, the fighting is stopped by a young girl, Zu, who is the leader of the encampment. Seeing Inan and Zélie has made her realize that Amari and Tzain were telling the truth: they are all allies. She uses healer powers to help Tzain’s injuries and says that she wants to help Zélie and her friends restore magic.
Zélie tells Inan to stop holding on to a pawn that he carries as a reminder of his father—the game piece is actually made out of majacite, a special metal that burns divîners. As he gets more comfortable, Inan realizes he’s falling for Zélie, and she for him. They start to kiss, but Tzain furiously interrupts them. That night, a massive troop of guards attack. Ignoring Zu’s attempt at peacemaking, the guards slay the young girl, and violence erupts. Sacrificing himself to protect his friends, Kwame, a divîner who can control fire, explodes himself and many guards around him in flames.
The next day, Tzain and Amari are in shock. Their siblings are nowhere to be found, and they fear Zélie may be dead—possibly by Inan’s own hand. But, they think she may be captive at a nearby fortress. They recruit a group of Tzain’s divîner friends to help them free Zélie and join their quest to restore magic. Using the scroll, they awaken their powers and plot to break into the fortress. Meanwhile, Zélie is restrained painfully with majacite. She thinks that Tzain must have betrayed her and is relieved to find that he didn’t—but hurt in a different way when Inan says that after seeing Kwame, he thinks magic is too dangerous. He tries to convince her to destroy the scroll in exchange for her freedom, but she refuses. Saran enters and begins to torture Zélie for information. He has his guards carve the word “maggot” into her back.
Just as Inan has secretly taken Zélie out of the torture chamber to try to bring her to safety, Amari and the group of divîners use their magic to break into the fortress. They kill many guards instantly. When Amari catches sight of her father, she has the urge to strike him down, but decides to wait. Inan hands a weakened and bloody Zélie over to Tzain, and stays behind as the others leave the fortress. Privately, he has decided magic must be stopped at all costs. He tells his father he has an idea.
A maji with power over healing stops the bleeding from Zélie’s back, but the scars—both physical and emotional—feel like they will be permanent. Even worse, Zélie can no longer access her magic. Without it, there’s no way to do the ceremony. She hides that from the group, and they decide to make a final effort. They head to Jimeta, a port town outside the long reach of the monarchy. It is free from oppressive rule, but also fairly lawless, full of mercenaries and criminals. When Zélie approaches a group of mercenaries to ask for their help, she is surprised to find Röen, a dashing foreigner she met at the divîner encampment. He agrees to help her because deep down, he believes in the gods as well. On Röen’s ship, the heroes make their way to the island where the ceremony must be performed. At the temple, Zélie still can’t feel her magic, but she keeps that concealed, thinking the power of the temple may help her. Suddenly, Inan and Saran appear, flanked by guards. With them is Baba. Zélie feels a pang of betrayal and fear. Immediately, she hands over the artifacts, thinking only of protecting her father.
As they walk away from the site of the ceremony, an arrow suddenly embeds itself in Baba’s body, killing him instantly. Fighting breaks out as Zélie struggles to gather the artifacts and attempt the ceremony. In the fray, Inan manages to trick her into using her own magic to destroy the scroll, which contains an incantation she needs to do the ceremony. Saran is proud of Inan until he sees Inan use his own magic, and then he immediately disowns Inan. Amari, meanwhile, starts to fight her father. She does not want to kill him, but when he slashes open her back, Amari realizes he is ruthless and will never change, and plunges her sword into his heart. Zélie, meanwhile, is running out of time to complete the ceremony. Turning to the gods, she realizes she can use Baba’s sacrifice to reactivate and fuel her magic. Without the scroll, she improvises an appeal to the gods, calling on the power of her ancestry and her connection to all other divîners to feed the ceremony. It seems to work, igniting bright lights in the room. Zélie passes out.
She has a vision of Oya, her patron god, comforting her—but soon realizes it isn’t Oya at all, but her mother. Zélie embraces the peace of death, where she will be reunited with her family. However, her mother says it is not yet Zélie’s time. Although Zélie wants to stay, her mother pushes her back to consciousness. Zélie awakens on Röen’s boat, surrounded by her friends. When she asks if the ceremony was successful, Amari simply shows her a streak of brilliant white that has appeared in her hair and a swirl of light magic emanating from her hand.