The year is 1865. After her mother dies, 16-year-old Gemma Doyle travels from India to England to live at the Spence School for young ladies. Gemma is instructed to tell her classmates that her mother died of cholera. Gemma, however, knows from a vision that her mother committed suicide rather than be taken by a dark creature that came out of the shadows.
A group of socially elite girls rule Spence. Their ringleader, Felicity, convinces Gemma to go through an initiation in order to be considered worthy of their favor. Gemma must go into the chapel and steal the communion wine. When she reluctantly agrees, Felicity and her friends lock Gemma inside. While trying to find a way out, Gemma is confronted by a young man she met in India. He and his brother had warned Gemma's mother that someone named Circe was near. The boy's name is Kartik, and he knows of Gemma's visions. He insists Gemma tell him what she's seen, and she admits the details of her mother's death, including the fact that the same shadow creature that tried to take her mother consumed Kartik's brother. Kartik warns Gemma to resist any future visions to avoid more danger. He also tells Gemma that he and others will be watching to make sure she obeys. Gemma escapes the chapel — with the Reverend Waite's whiskey instead of the wine. When Gemma gets outside, the vision of a little girl appears. Gemma is compelled to follow her and is led to a cave where she finds the diary of a former Spence student named Mary Dowd. Gemma takes the diary back to the school.
During free time the following day, Gemma takes the diary outside to read. She is thrilled to learn that Mary and her best friend, Sarah, also had visions. Mary confesses that soon after her 16th birthday, she went willingly into a vision instead of fighting against it, and she walked through a beautiful door of light to another world. On her way back to school, Gemma comes upon Felicity embracing a young gypsy man. Gemma promises to keep the tale of Felicity's affair a secret, and the girls become friends.
The following afternoon, Miss Moore, the art teacher, takes her students to a cave to see some primitive drawings. She tells the girls legends about The Order, a group of women who had magical powers and could cross to another world known as "the realms." Gemma believes this is the world Mary Dowd wrote about in her diary. Felicity convinces Gemma to go to the caves at midnight to start their own Order. Gemma agrees only if her roommate, a poor scholarship student named Ann, can come along, too. Pippa, Felicity's best friend, joins them as well. The girls read from Mary Dowd's diary and learn more about the realms and the magical powers Mary and her friend Sarah carried with them when they returned.
While on a school outing to see a spiritualist, Gemma has another vision. This time she crosses over to the realms. She finds her mother and learns that Kartik is a member of the Rakshana. They are a group of men who police the members of the Order. Her mother tells Gemma that the Rakshana fear what will happen if she fails to learn the magic of the realms, but they are more terrified of the power she will have if she does. Her mother also warns her about Circe, the powerful creature that sought to capture her in India.
That night, Gemma calls a meeting of the Order and tells them of her mother's death and her own visions. She gathers them in a circle and together they travel into the realms. It is a beautiful world where each of the girls can make magical things happen, such as turn water into gold dust. Gemma leaves her friends to talk with her mother again and to find out more about the original Order. On a later visit to the realms, her mother tells the girls that they can do anything they wish in this new land. Ann wishes to be beautiful, and she is. Pippa desires romantic love and is approached by a handsome knight. Felicity wants power, and a female huntress appears to teach her how to use a bow and arrow.
When her mother asks what Gemma wished for, she admits it was to see her mother again. Her happiness is short lived when her mother tells her that she can't stay much longer in the realms or she risks becoming a lost spirit of the Winterlands, a cold and desolate part of the realms.
The girls become excited when they find a circle of crystals called The Runes. Gemma can pull magical power from them to use in the real world, but her mother warns her not to try until she has learned how to control the magic already within her. She could accidently let something into the realms, or something from the realms could escape into their world. The girls return from the realms.
Assembly Day arrives at Spence, a day when the girls' families are encouraged to visit, and various programs are provided for their amusement. Pippa is crushed to learn that her parents have brokered her engagement to a stodgy old banker. Her dreams of romantic love are to be lost forever. Ann is forced again to face the humiliation of being plain and poor in front of the other girls' families. Felicity is heartbroken when her father sends a note of regret that he cannot attend, and Gemma must endure seeing her father, who is now almost incapacitated by an addiction to laudanum. The four decide to go to the realms that night in order to obtain some of the power from the runes, so they might be able to change their lives. They are successful and use the magic to have fun. When Felicity plays a practical joke on other students, Miss Moore, the art teacher, becomes suspicious. She approaches Gemma and the others as they are about to read more of Mary Dowd's diary.
Miss Moore reads aloud from the book. The girls are horrified to learn that Mary's friend, Sarah, convinced Mary to help her lure a gypsy child into Spence to use as a sacrifice so she [Sarah] could enter the realms without Mary's help. Mary was supposed to hold the girl still while Sarah summoned the spirit from the Winterlands, but, in an effort to keep the girl quiet, Mary placed her hand over the girl's mouth and nose, suffocating her. When the creature of shadows emerged from the doorway, it was furious that Mary had killed the child. In its fury, the creature took hold of Sarah and dragged her into the realms. Mary and another friend traveled to the realms and rescued Sarah. She placed a spell on the doorway to seal it until someone with new magic arrived. In a fit to return to the realms, Sarah accidently knocked over a candle and started a fire. These girls fled into the forest, and it was assumed that they had died in the fire that consumed one full wing of the school.
Later that night, Gemma learns from a maid that Sarah had called herself Circe before she was killed. Gemma finds an old school picture from the year of the fire. Unfortunately, Sarah's face is blurry. Gemma finds Mary Dowd's picture and discovers Mary was her mother.
Gemma travels to the realms alone to confront her mother with all she has learned. She also confesses that she and her friends have touched the runes. Her mother is furious and tells her that by doing so they've left the runes unguarded, and evil may have been able to slip through. It can take any form, even something friendly and familiar. Gemma doesn't initially believe her until she is approached by Felicity's huntress, who offers her berries to eat. Gemma knows that if she eats anything from the realms she will have to stay there forever.
Pippa confesses to her fiancé that she has epilepsy in hopes that he will break the engagement. When he demands an explanation from her parents, they convince him that she is lying because she is scared to become a wife. He agrees to marry her as planned, but Pippa is brought before the headmistress to be punished for her conduct. When her room is searched, Mary Dowd's diary is found. Pippa claims Miss Moore gave her the diary, and the teacher is fired from Spence.
Fearing she can no longer control the magic, Gemma initially refuses to bring the other girls back into the realms. But she is forced by Felicity's violent outburst to change her mind. In the realms, the huntress almost convinces the girls to take her through to their world, but at the last moment, Gemma refuses. The huntress turns into the shadow creature, chasing the girls through the realms. All but Pippa escape back to Spence.
Gemma returns to the realms on her own to try and retrieve Pippa's spirit. Her mother tells her she must use the power of the runes to save Pippa. When Gemma touches them she realizes that the shadow creature has taken her mother's form. The creature offers her power, but Gemma knows she will have to bind her soul with it in order to have that power. She tries to withdraw, but the creature keeps attacking. It is only when Gemma forgives her mother for the lies she told that the creature, Circe, loses its grip on her. Gemma smashes the runes so that no one can have their magic. Once Circe disappears, Gemma runs to free Pippa. But Pippa cannot face marriage to someone she doesn't love. Instead, she eats the berries from the realm. When Gemma returns to Spence, she finds Pippa has died. Gemma knows that Circe still searches for a way into the human world; Gemma must keep a vigilant watch to stop her.