Gemma Doyle and the other girls at the Spence Academy for Young Ladies prepare for the upcoming Christmas holiday. Friends Ann and Felicity want Gemma to take them into the magical land called the realms, but she is afraid to go back since she broke the runes that controlled the magic within its borders. Gemma wants to wait to return until she finds other members of the Order — a group of women whose powers allowed them access and control of the realms.
A new art teacher, Miss McCleethy, arrives at Spence. The other girls immediately like her, but Gemma has reservations. She feels guilty that Miss Moore, the former art teacher, was let go because she told the students about the Order. In addition, Gemma finds a mysterious list in Miss McCleethy's room. On the list, other schools have been crossed off, as if the teacher were searching for something. Gemma suspects Miss McCleethy might be Circe, a former Spence student who tried to control the power of the realms through violence.
Gemma is reunited with Kartik, a young man from India who is a member of the Rakshana. The Rakshana are men who police the Order. Unknown to Gemma, they've told Kartik to gain her confidence, help her find the Temple within the realms to bind the magic she loosed, and then kill her. Kartik tells Gemma about the Temple and gives her what knowledge he has to help her find it.
When Gemma and her friends return to the realms, they can't see any of the changes that the loosed magic has caused. Only when their friend Pippa is able to visit them does Gemma suspect something is wrong. As Pippa's body died in the real world, she should have been forced to cross over to another realm. But Pippa convinces Gemma that everything is fine. Still, she warns Gemma that the Rakshana and the Order are not allies; in fact, the Rakshana want the Order's power for themselves.
After they return to their world, the girls leave Spence for Christmas. Felicity has told her mother that Ann is not a scholarship student but Russian nobility so Ann can stay at their house over the holiday. The girls meet Gemma in London to shop, then sneak away to have tea with Miss Moore. Gemma confesses her idea that Miss McCleethy might be Circe. When the girls ask if Miss Moore was ever in the Order, the teacher laughs as if the girls are making up a story.
The girls slip away to the realms. Pippa brings them to the gorgon, a creature who has been turned into a ship. It was cursed and has to serve the Order. They are brought to Philon, another strange beast of the realms, who gives the girls a magical bow in exchange for Gemma's promise that if she finds the Temple before her enemies, she will share the magic with Philon and its followers.
When the girls arrive back home, they carry some of the magic of the realms with them. Ann uses her power to perform in front of a group of society ladies at a tea. She furthers her masquerade by singing in Russian. Gemma uses her magic to try and heal her father of his addiction to laudanum, which is a prescribed medicine that was derived from opium. It doesn't work.
After meeting Simon at the train station, Gemma and her family are invited to dine with Simon's parents, Viscount and Lady Denby. Simon is enamored with Gemma's lively spirit, and she is attracted to his charm and handsome face. Simon eventually gives her several gifts, indicating his intentions of entering an engagement with her. At dinner, Gemma's brother, Tom, tells stories about the patients he attends at an asylum. A girl named Nell claims to be a member of a secret society called The Order and has driven herself mad to keep someone named Circe from finding her.
The following day, Gemma visits the asylum and sits with Nell. The girl speaks in strange riddles telling Gemma to stay on the path, not to trust the Poppy Warriors and that the Temple hides in plain sight. Another inmate approaches and tells Gemma that the spirits are coming for her. She also discovers that Nell attended a school at which Miss McCleethy used to teach. Later, while in a bookstore with Felicity and Ann, they spy Miss McCleethy buying a book about the Order. The girls follow her through the city until she enters the asylum that houses Nell. The girls buy their own copy of Miss McCleethy's book and read that members of the Order often made anagrams of their names to disguise their identity. They are horrified to learn that their art teacher's name forms the phrase "They call me Circe."
As the holidays progress in a whirl of social engagements and dances, the girls continue to seek out clues as to the location of the Temple. With time running out before they have to return to Spence, Gemma has a vision in which she sees the Temple. When they return to the realms, they discover its beauty is being transformed. Weeds have overgrown the once beautiful garden, and flies buzz over the carcass of a dead animal. Gemma, Felicity and Ann follow the spirits of three girls who have been haunting Gemma's dreams.
The girls promise to take them to the Temple. Gemma and her friends come to a lake. The beautiful cathedral from Gemma's vision stands on an isle. The cathedral is off the path, but the girls decide to ignore Nell's warning and take a boat to the island. Grotesque creatures — the Poppy Warriors — trap them. The creatures feed off of each girl's secret fears until Felicity kills their leader with the bow Philon gave her.
As the girls flee from the cathedral, their rowboat is overturned by water nymphs. Ann is taken captive, and Gemma escapes to the real world to bring Miss Moore in to help them. After a desperate battle with the water nymphs, Miss Moore and Gemma manage to free Ann, but not before Circe's tracker captures Miss Moore.
Gemma, Felicity and Ann return to London to escape the tracker and allow Gemma time to regain her strength. She has used so much of her magic that she is weak. On her way home from visiting her friends, Gemma is abducted by the Rakshana and Miss McCleethy. The teacher claims she is not Circe, but a member of the Order trying to find Circe. She demands Gemma take her into the realms, but Gemma doesn't believe her.
Kartik helps Gemma escape. Gemma flees to Miss Moore's apartment until she can decide what to do next. It is there she discovers that Miss Moore is actually Circe. Distraught that she brought her enemy into the realms, Gemma falls ill for several days. She recovers enough strength to visit Nell and learns that Circe has not found the Temple yet. There is still time for Gemma to find it first. The girls arrive in the realms, and Gemma prepares to bind the magic, only to find that Miss Moore, Circe, is waiting for her. She holds Nell hostage as her sacrifice of blood to get the magic. Circe tries to convince Gemma to partner with her in the realms, claiming that the others of the Order will take the magic for themselves once Gemma binds it again. In a final showdown, Gemma kills Nell so her blood can't be used as a sacrifice. Circe tries desperately to bind herself with Gemma, but Gemma fights her off. Gemma binds all the magic to herself until the day when it can be shared with others of the realms.
Back in London, Gemma asks Kartik if he will leave the Rakshana to help her restore the realms, and he agrees. She then visits Miss McCleethy to ask why the Order has never shared its power. Unhappy with her teacher's answer, Gemma promises to give some of the magic to her friends and others who helped her in the realms. Miss McCleethy warns Gemma not to make enemies of those in the Order. Before Gemma leaves for school, she also visits Simon and gives back his gifts of engagement. Gemma and her friends arrive at school after their eventful holiday, and life returns, for the moment, to normal.