Set in 1920s England, the story follows a girl who wakes from a fever in a holiday cottage with no memory of the previous day. She is told her name is Theresa, called Triss, and that she fell into the Grimmer, a local millpond. Her mother Celeste and her father Piers, a celebrated civil engineer, hover at her bedside. The doctor assures everyone her confusion will pass. But Triss's eleven-year-old sister Pen screams that Triss is "pretending" and "fake," then flees the room.
Something is deeply wrong from the start. Triss's hands are clumsy, her sewing scissors twist in her grip, and half her diary pages have been torn out along with her hairbrush. She develops a ravenous, uncontrollable hunger that drives her to devour enormous meals and, one night, to eat rotten apples off the ground. She overhears her parents discussing two men seen near the Grimmer with a black Daimler and her father's cryptic talk of being "finished" with a mysterious figure.
Back in Ellchester, Triss's condition intensifies. Her doll comes alive and screams before Triss hurls it against the wall. Dead leaves appear in her hair each morning, and she discovers that her own strands disintegrate into skeleton-leaf fragments. A china half-doll stabs her with a pin; in desperate hunger, she opens her mouth impossibly wide and swallows it whole. Meanwhile, Pen is caught using the telephone on a call that leaves no record, making Triss appear delusional. Triss sneaks into the preserved bedroom of Sebastian, her older brother who died in World War I, and hides while Celeste reads newly arrived letters and weeps.
Piers takes Triss shopping. Outside Lambent's dress shop, the mannequins slowly turn their heads to stare at her. They enter Grace and Scarp instead, where an iron scissors sign nearly falls on her head. Inside, she meets Mr. Joseph Grace, a tailor with a war-injured leg who treats her with warmth. Mr. Grace later visits the Crescent home, warning Celeste that Triss's symptoms remind him of "another case." That evening, Violet Parish, Sebastian's former fiancée, arrives demanding items Sebastian left her. Piers refuses, and as Violet departs, a single snowflake falls from the clear sky. At midnight, Triss watches a small winged bird-thing deliver a letter into a locked drawer in Sebastian's room. Written in his hand, the letter describes endless winter and war as though he were still fighting years after his death.
Triss follows Pen to a cinema, where Pen enters a hidden parlor and meets the Architect, a supernaturally handsome man whose charm masks something dangerous. Triss eavesdrops as Pen reveals her deal: She stole Triss's belongings and lured the real Triss to the Grimmer in exchange for the Architect removing Triss so the family would be happier. When figures on the backward-playing film screen try to drag Pen into the image, Triss breaks cover and pulls her free.
Afterward, Pen describes what happened at the Grimmer. The Architect's men took the real Triss, threw her belongings and a doll made of leaves into the water, and something climbed out, made of sticks and thorns, slowly taking on Triss's appearance. The changeling, now understanding she is not the real Theresa Crescent, is called Not-Triss. She contemplates drowning herself but resolves to live and rescue her counterpart. That night, she captures the bird-thing and learns she was created by the Shrike, who lives in the Underbelly, a hidden settlement beneath the Victory Bridge. The bird-thing warns she has only three days before her enchantments expire.
Guided by Mr. Grace, Piers and Celeste take Not-Triss to a seaside cottage where a traditional changeling test, cooking dinner in eggshells, triggers an inhuman laugh. Mr. Grace demonstrates her cobweb tears and thorn-teeth to the horrified parents and prepares to force her into the fire. Pen, who stowed away in the car, douses the flames and drags Not-Triss to safety. The two girls flee to Violet, who reluctantly shelters them.
Not-Triss and Pen visit the Underbelly, an inverted village clinging to the bridge's underside, and bargain with the Shrike. He explains that the Besiders are ancient supernatural beings displaced from wild places as human certainty spread. The Architect recruited Piers after the war, offering contact with Sebastian in exchange for fronting the Architect's designs. Piers gave the Architect Sebastian's service watch, into which a lock of Sebastian's hair was placed. The watch stopped at the moment of Sebastian's death, trapping his spirit between life and death. When Piers refused to continue building, the Architect kidnapped the real Triss in revenge. Violet reveals that since Sebastian's death, winter has followed her wherever she stays too long, linked to the enchanted watch. Pen names the changeling "Trista," meaning "sad" in French, and makes her a bead necklace with the name T-R-I-S-T-A spelled out on wooden beads. Trista accepts.
Using the supernatural telephone phrase "Waste, wither, want," Pen contacts the Architect. Trista pretends to be his ally and speaks briefly with the captive Triss, who whispers a coded clue: "the frog," referencing a childhood incident where Pen buried a frog alive. Trista deduces that the Architect plans to bury Triss alive inside the pyramid-shaped railway station Piers is building for the Architect. The Capping Ceremony, where Piers will lower the pyramid's apex, will seal Triss inside. The Architect also tells Trista she could survive by devouring Pen. Horrified, Trista confesses to Violet, who responds: "He really doesn't know you very well, does he?"
Trista sneaks into the Crescent home and confronts Piers, accusing him and Celeste of teaching Triss to be fragile since Sebastian's death and using that frailty to compensate for their failure to protect their son. She extracts a promise that they will love the real Triss as she truly is.
Trista asks Violet to let the snow fall deliberately so the Architect's midnight tram ride will leave visible tracks, and sends Pen home to tell Piers to halt the ceremony. Before midnight, she witnesses Mr. Grace kill two Besiders and steal one of their feather-coats to infiltrate the ride. When the black tram arrives, Trista leaps aboard. Mr. Grace, in his stolen coat, catches her and pins her to the tram door before calling out to the Architect, who transforms Grace into a bird-thing. Trista tears free, reaches Triss at the front of the tram, and tells her to remove her coat and hat. As the tram skims over the river, Trista pushes Triss into the water and takes her place.
The Architect leads Trista into the pyramid's twisted interior and throws her into a domed room with a bottomless shaft. Discovering the deception, he shrieks with rage and tilts the room to hurl her into the abyss. Trista steals Sebastian's watch from his wrist during the struggle. He seizes her hair, which turns to leaves in his hand, and she shoves him into the shaft. She opens the watch and removes Sebastian's hair; the cogs begin to tick, and she senses his spirit slipping free. Facing her own disintegration, she threads the cotton of Pen's bead necklace, spelling T-R-I-S-T-A, into the mechanism. The cogs jam, and time stops running out for her.
Pen has succeeded in halting the Capping Ceremony. The Besiders confront Trista over the Architect's death, but the Shrike, bound by his earlier promise, cannot harm her and grudgingly lets her go. Triss is found on a jetty and reunited with her family. Violet, injured in a motorcycle crash while fleeing Mr. Grace, recovers in a clinic and tells Trista that Sebastian's freed spirit appeared to her, happy and at peace. The Crescent family begins to heal: Pen is no longer silenced, and Triss asks to write to Trista. Trista encourages Triss to ask her parents to send her back to school. Violet adopts Trista, and the two leave Ellchester on Violet's motorcycle for London. Trista savors each second, knowing her stopped watch has given her an uncertain but open future.