Teenage girl Linh Cinder has recently learned that she is the orphaned princess of Luna. In order to secure the crown, her aunt, Queen Levana, tried to kill her when she was a toddler by setting fire to her nursery. As a result of this fire, parts of Cinder's body were severely injured and had to be replaced with cybernetic parts.
While working as a mechanic in New Bejing, Cinder struck up a friendship with Kai, prince of the Eastern Commonwealth. He needed his android repaired. Kai asked Cinder to go with him to his annual ball, but Cinder declined, worried that Kai would discover that she is a cyborg. Cinder discovered a plot by Levana to marry Kai, kill him and become queen of the Commonwealth. Cinder attended the ball to warn Kai but ended up trying to kill Levana. She is now imprisoned and waiting to be sent back to Luna for execution. Dr. Dimitri Erland, the leading researcher for the letumosis plague, gives Cinder tools to help her escape, telling her to find him in Africa after she breaks out.
Due to an accident as a child, Cinder has no memory of her past. Dr. Erland tells Cinder that two people who helped her escape to Earth from the moon were former military pilot Michelle Benoit and Lunar scientist Logan Tanner. While escaping the prison, Cinder meets another prisoner, Carswell Thorne, who convinces her to take him when she escapes. Thorne is a charismatic man imprisoned for stealing a military ship, the Rampion, which he has hidden in the city.
After Cinder escapes, Levana demands that Kai find her or expect a full-scale attack by Luna. While Kai is desperate to avoid war, he secretly hopes Cinder will not be found, as he is fond of her. Hoping to find another way out of a hopeless situation, he continues to search for Princess Selene, the true heir to the Lunar crown.
Scarlet Benoit is an 18-year-old redhead living on her grandmother's farm in Rieux, France. Scarlet's grandmother Michelle Benoit has gone missing. Scarlet is worried and determined to find out what happened to her. While the police think Michelle left on her own, Scarlet knows her grandmother wouldn't do that.
While delivering produce to a local tavern, Scarlet sees the footage on the netscreen of Cinder fleeing — falling down stairs and losing her foot — after her attempt to kill Levana. As a local mocks the cyborg girl, Scarlet stands up for Cinder, causing a fight to break out in the tavern. A shy fighter named Wolf defends Scarlet, and she notices a strange tattoo, a series of letters and numbers, on his forearm. After they are both thrown out of the tavern, Wolf asks Scarlet for a job working on her farm. He is a fighter and makes his money that way, but he wants to leave that life behind and do something else. Scarlet feels that Wolf is dangerous, so she tells him that she doesn't need any help. He tells her that if she changes her mind, he can find her at an abandoned farm where illegal fights are held.
Scarlet goes back to the farm to find that her home has been ransacked by her father, the man who left her with her grandmother when Scarlet was 7 years old. Desperate, her father searches for something he says Michelle has hidden in the house. When Scarlet questions him, she notices burn marks all over his arm from being tortured, and he says the same people who tortured him have kidnapped Michelle. The only clues he can remember from his kidnappers are the tattoos on their forearms, which sounds similar to Wolf's tattoos.
Scarlet goes to find Wolf and sees him fighting. Wolf is a savage fighter and almost kills his opponent. Scarlet runs away, repulsed and frightened by what she sees. As she leaves, she hears wolves howling in the night.
The next day, Wolf shows up at the farm and explains to Scarlet that he was a member of the ring that kidnapped her grandmother, but he ran away from them and now makes a living fighting. He also tells her that the kidnappers are in Paris. Scarlet decides to find Michelle herself. Wolf agrees to go with her, and they take a train to Paris.
Meanwhile, Cinder and Thorne, who have escaped from prison, flee to his stolen ship. While trying to navigate the ship out of Earth's atmosphere, the pair experience technical difficulties with the ship's autopilot. Cinder, remembering she has Iko's personality chip, places it into the ship, giving her android friend a new body. Cinder begins to learn how to use her Lunar powers. She focuses on making the ship invisible to scanners that are looking for them and is surprised when they travel undetected. Later, Cinder learns that one of the queen's own programmers, a girl named Cress, has been using technology to hide their ship from the scanners.
While Cinder knows she should go to Africa and find Dr. Erland, she learns that Michelle Benoit lives in France. Desperate to find out more about herself, Cinder instructs Iko to fly them to Michelle and Scarlet's home in Rieux.
On the train to Paris, Scarlet leaves the private car she shares with Wolf and goes to order coffee. At the bar, she meets a young man named Ran and realizes she saw him at the station before boarding the train. At first, Ran is charming, but when he starts asking Scarlet questions about where she is going and why, she surprisingly answers, telling him she is going to Paris to find her grandmother. Her admission goes against everything she wants to do. Her instincts tell her to leave, and she tells Ran goodbye. When she returns to the cabin, Wolf tells her he can smell something on her and asks her who she was talking to. Before she can answer, an android comes to their quarters to take blood. There has been a plague outbreak on the train.
The train stops and everyone is ordered to stay onboard, but Scarlet and Wolf know that the entire train will be quarantined due to the plague, so they escape through the window and are hunted down by security androids. Wolf uses his lupine instincts to help them escape, and they set out on foot as Wolf advises them to stay close to the tracks.
Wolf is alert, realizing they are being followed, but it's not until they stop to camp for the night that Ran appears, telling them that the smell of food led him to them. It becomes clear that Wolf and Ran know each other, and there is animosity between the two. When Scarlet questions their familiarity, Ran reveals that he is Wolf's younger brother and a "Loyal Soldier to the Order of the Pack," the gang that kidnapped Michelle.
Ran tells Wolf that their "assignment" from their master, Jael, has been canceled, and Jael wants Wolf to return to the pack. Wolf tells Ran that he is no longer a member of the pack. The two fight, and as Wolf is about to drown Ran in a lake, Scarlet shoots Wolf in the arm to stop him. The bullet only grazes Wolf, but it's enough to stop him from killing his brother. They leave Ran unconscious, risk their lives by jumping on a moving train and continue to Paris.
While on the train, Scarlet confronts Wolf about the assignment, fearing that he has been using her to get information. He tells her the pack's assignment was to find Princess Selene, and since they believe that Scarlet's grandmother knows something about Selene's whereabouts, they kidnapped her. Wolf tells Scarlet that her grandmother visited Luna when she was a military pilot and met a scientist, Logan Tanner, while there. The two had a brief relationship.
When Selene was injured, Tanner snuck her off Luna, took her to Earth and asked Michelle to help hide her. While Scarlet denies any family involvement with Lunar royalty, she remembers seeing her grandmother secretly meeting with an inventor, Linh Garan (Cinder's adopted father). Wolf denies involvement in Michelle's kidnapping. Scarlet believes him, and the two kiss. Wolf begs Scarlet not to go after Michelle, but Scarlet intends to bargain with what she knows in exchange for Michelle's freedom.
The two arrive in Paris, and as soon as they are off the train, Wolf knows they are being followed by other members of the pack. Wolf leads Scarlet to an abandoned opera house in the city, where he apologizes to her and then opens the door. Scarlet knows she has been betrayed. Wolf meets the Lunar thaumaturge, the master of Wolf's pack, Jael.
Wolf tells Jael everything he has learned from Scarlet, and she realizes that Wolf is Lunar as well. Jael tells Scarlet that a Lunar operative from Wolf's pack has killed her father.
Scarlet is held in a prison cell and then taken to see her grandmother. She is overjoyed to see Michelle, who in turn, chastises her granddaughter for coming to rescue her. Michelle tells Scarlet that the mission to find Selene has indeed been called off. The only reason she is still being held is because the Lunars want to know how she resists their mind control techniques. When Michelle mentions that Scarlet is weak like her father, Scarlet realizes that the person she is with is not her grandmother, but Ran, who is using his ability to disguise himself as Michelle in order to get information from Scarlet.
Meanwhile, Cinder and Thorne arrive in France only to find the Benoit farmhouse empty. They search the property, and Cinder gets the eerie feeling that the place is familiar to her. In the barn, she finds a hidden entrance to an underground laboratory where the injured Princess Selene/Cinder was treated for her extensive injuries and her cybernetics implanted. The lab also includes a suspension animation tank, which kept her alive but unconscious for long periods of time. Cinder calculates that she was asleep in the tank for eight years, until she had cybernetic surgery. Thorne does not know that Cinder is really Princess Selene, and she does not tell him. The pair also finds evidence that Michelle had a bioelectrical security block surgically implanted. The same device that prevented Cinder from using her powers also allows Michelle to be immune to Lunar manipulation.
The only childhood memory Cinder has is of the fire. She has no others because she spent most of her life in that tank. Cinder and Thorne see a picture of her that was taken after she was rescued from Luna. The picture shows a child horribly burned, disfigured, wrapped in bandages and missing half of her limbs. Both are shocked and repulsed by the image. Knowing what Levana did to her, Cinder is even more determined to stop the Lunar queen.
Cinder and Thorne speak to a local girl, Scarlet's friend who stopped by to check on the farm, and Cinder uses her ability to compel the girl into telling them that Scarlet went to Paris in search of her grandmother. The Rampion is in dire need of new parts, so Cinder and Thorne go into town to buy them.
Back in Paris, Wolf visits Scarlet in her holding cell and, after she hurls insults at him and tries unsuccessfully to hurt him, he forces a kiss on her. Scarlet realizes Wolf has given her an ID chip with the kiss, and whispers to her to escape in the morning, as the night will not be safe. Since Kai has failed to recapture Cinder, Levana has ordered an attack on Earth.
In Rieux, Cinder goes to the parts store and notices a stranger staring and smiling at her. The attention makes her uncomfortable, so she quickly gets what she needs and leaves. Iko sends a message telling Cinder that the police have discovered the Rampion. Cinder and Thorne see police in the street, so they duck into a tavern. Cinder uses her ability and convinces the crowd that she and Thorne are unimportant, which works until Cinder becomes overly anxious and loses control when questioned by military officers searching the tavern. Cinder is recognized. As she is about to be arrested when another stranger, similar to the one in the parts store, becomes crazed and animal-like. The man begins brutally killing officers and soldiers in an attempt to get to Cinder.
In a moment of panic, Cinder inadvertently uses a female officer to shield her from the Lunar. The man kills the officer by ripping out her throat with his teeth. Afterward, Cinder is distraught about getting the officer killed. Another officer shoots the crazed Lunar, but bullets don't stop him from grabbing Cinder and telling her that he intends to kill her and take her body back to his queen, Levana. Thorne breaks a chair over the Lunar's head and gets bitten in the arm. Cinder manages to use one of her tranquilizers on the Lunar, effectively stopping him. She grabs Thorne and drags him from the tavern, only to see the man from the parts store, another Lunar, attacking two officers outside by ripping out their throats with his teeth. The entire town of Rieux is in turmoil. Cinder uses the distraction to get herself and Thorne back to the Rampion. Iko flies them out of Reiux, and Cinder is able to see the news feeds: Wolf-like men have attacked cities across the entire planet.
In Paris, Scarlet hears howling but notices that none of the Lunar soldiers are visible in the hallways. She uses the chip Wolf gave her to open the door to her cell and finds her grandmother in another cell not far from her own. Michelle is injured, frail and frightened that Scarlet is there. It is clear she has been severely tortured. Michelle pleads with Scarlet to leave her as she is too weak to move and tells her the cyborg girl on the news, Cinder, is really Princess Selene. As Scarlet vows to either escape with Michelle or stay with her and die, Ran comes to the cell. Michelle goads him, and Ran attacks her, throwing her against a wall and then ripping out her throat with his teeth. Scarlet runs, and Ran chases her. He catches her, but just before killing her, Wolf attacks Ran, demanding his younger brother leave Scarlet to him. The two fight viciously, and Scarlet tries to escape.
Wolf kills Ran, and in bloodlust, he chases Scarlet. She speaks to him and reminds him that he is not one of the pack; he is different. Wolf tells her that Jael is in his head, compelling him to kill. Cinder arrives and shoots Wolf with a tranquilizing dart. Cinder explains that she is looking for Michelle and is saddened when Scarlet tells her that her grandmother is dead. Scarlet convinces Cinder and Thorne that Wolf is good, and they try to move his unconscious body to the Rampion. All around them, Lunar soldiers are hunting and killing people in the street.
They get to the ship, and Scarlet goes to pilot while Cinder and Thorne drag Wolf's body inside. Before they can get inside, Jael and other soldiers surround them. Jael compels Thorne to turn a gun on Cinder. He tries to compel Cinder, but she is immune to the manipulation. Jael admits that the Lunar soldiers have been genetically modified to behave like wolves, with instincts to kill, eat and destroy. Before the soldiers can take Cinder, Scarlet moves the ship, and the ramp hits the soldiers and Jael. Cinder grabs Thorne's dropped gun and shoots Jael in the thigh. Cinder compels one of the soldiers to carry Thorne and Wolf into the ship. She is exhausted from the energy it takes to control the man. Feeling triumphant, Jael orders his soldiers to go into the ship and get Scarlet and Wolf, but Scarlet comes out of the ship with a shotgun and shoots Jael in the chest. The ship takes off leaving Jael dying.
Prince Kai is sickened when footage comes in of the attacks. It is estimated that approximately 300 Lunar soldiers killed 10,000 people in two hours. In a desperate effort to stop the murders and an impending, full-scale war, Kai agrees to marry Levana and make her queen of the Eastern Commonwealth.
On the Rampion, Wolf awakens and without Jael's compulsions, he is once again the man Scarlet met in Rieux. Cinder admits to everyone that she is really Princess Selene, and Wolf tells her that based on what she has done with her ability, she is stronger than Levana. He offers to help her develop her ability in preparation to fight Levana, but Cinder is uncertain.
After some time alone, Cinder tells Iko that she cannot let Kai marry Levana, so she has decided to let Wolf train her, become stronger, find Dr. Erland, defeat Levana and find the queen's programmer to get information about Luna's security and all of Levana's secrets. She doesn't want to hide anymore.