Set in Copenhagen, the novel opens early one Wednesday morning when Gregers Hermansen, an elderly resident of an apartment building at Klosterstræde 12, loses his balance while taking out his trash and falls into the first-floor apartment, landing on the blood-covered body of a young woman. He suffers a heart attack and lies immobile, unable to call for help.
Copenhagen Police Homicide investigator Jeppe Kørner and his partner, Detective Anette Werner, are assigned to the case. Jeppe is recently divorced, emotionally fragile, and returning from a leave of absence. Anette is blunt and energetic, his longtime investigative complement. The superintendent places Jeppe in charge, his first lead assignment since coming back. Their first interview is with Esther de Laurenti, the building's 68-year-old owner, a retired literature professor and heavy drinker who is writing a murder mystery novel. Esther identifies the tenants as Julie Stender and Caroline Boutrup, young women from western Denmark's Jutland region. Caroline is away in Sweden.
At the crime scene, forensic pathologist Nyboe notes multiple stab wounds, blunt-force trauma, and a pattern of lines carved into the victim's face resembling a
gækkebrev, a traditional Danish paper cutting. The carving began while the victim was alive. The victim is identified as Julie Stender through a wrist tattoo reading "Orion & Pleiades." Julie's father, Christian Stender, happens to be in Copenhagen with his second wife, Ulla. When the detectives deliver the news, Christian collapses and must be hospitalized.
Esther confides in Kristoffer Gravgaard, her singing teacher and close friend who works as a dresser at the Royal Danish Theatre and has a key to her apartment. That evening, Jeppe learns Julie texted Kristoffer the night of the murder after both attended a nearby concert. Julie also texted Caroline about "the Mysterious Mr. Mox," an unidentified man she had recently fallen for. Kristoffer admits to a brief sexual relationship with Julie, says she rejected him, and tells police he followed her home from the concert and saw shadows suggesting she was not alone before returning to a bar. Discrepancies in the timeline leave a narrow window unaccounted for.
Nyboe's autopsy confirms the cause of death as a blow to the left temple, delivered through a protective layer to preserve the skin for carving. Meanwhile, someone posts a photograph of the carved face to Julie's Instagram account, and media outlets circulate the image before investigators can remove it. Caroline returns from Sweden and confirms Julie fell in love with an unidentified older man three weeks earlier. Christian Stender reveals that Julie, at 15, had an affair with her art teacher, Hjalti Patursson, from the Faeroe Islands.
The investigation shifts when Esther contacts Jeppe in distress: She has been writing a crime novel with a victim modeled on Julie, and the fictional murder, including the carved facial pattern, closely mirrors the real killing. The manuscript was uploaded to a password-protected Google Docs page shared by her writing group, which includes prominent author and painter Erik Kingo and writer Anna Harlov. The murder scene was uploaded one week before the actual killing, giving anyone with access a blueprint for the crime.
Forensic analysis reveals the killer wore protective clothing and latex gloves. Fingerprint technician David Bovin, a civilian specialist, finds a handprint on the kitchen doorframe with traces of cornstarch from recently removed gloves. The print matches Kristoffer. Jeppe authorizes his arrest, but when officers arrive at the theater, Kristoffer has vanished. His body is discovered in the crystal chandelier above the auditorium, killed by a chokehold that caused cardiac arrest, a technique associated with military training. Key-card data suggests the killer lingered in the building for over an hour after the murder.
Kristoffer's death clears him as Julie's killer and recasts the handprint as planted evidence. The killer uploads a new text to the writing group's Google Docs using Kingo's credentials, claiming responsibility and referencing "the nightmare factory," a phrase police psychologist Mosbæk believes may allude to an institutional upbringing. Esther taunts the killer through the shared document and finds a star carved into her doorframe the next morning.
Anette flies to the Faeroe Islands, where Hjalti's mother, Signhild Patursson, reveals that Julie never had an abortion. She carried the baby to term and gave birth to a daughter, whom Christian Stender pressured her into giving up for adoption. An anonymous letter informed Hjalti of the child's existence roughly a year and a half before his death from a cliff fall, officially ruled a suicide but disputed by Signhild.
Back in Copenhagen, a tattoo artist and surveillance footage identify David Bovin as the man who picked Julie up after her tattoo appointment. Bovin is a former soldier who served in Afghanistan, explaining the military chokehold, and an aspiring photographer who exhibited at Kingo's gallery. Both Bovin and Kingo vanish. Esther disappears after visiting Gregers at the hospital. Sara Saidani, a tech-savvy investigator on Jeppe's team, and Thomas Larsen, a young detective, trace a lead to an abandoned orphanage in Kokkedal where Bovin once volunteered. They find Esther on the darkened beach, battered but alive.
From her hospital bed, Esther recounts that Bovin was convinced she was his biological mother, who abandoned him to an abusive childhood in institutions. He boasted of killing Julie and Kristoffer, calling them works of art, and mentioned Kingo and their shared mission. Esther survived by proving the dates did not align: She gave birth in 1966 and gave up the baby, a girl, for adoption, facts engraved on a pendant she always wears.
Daniel Fussing, Caroline's ex-boyfriend and Julie's close friend, reveals a crucial truth: Julie's pregnancy was not by Hjalti. She slept with him after she was already pregnant to create a scapegoat. The actual father was Erik Kingo, who had been sleeping with 15-year-old Julie during visits to her family. Daniel also admits he sent the anonymous letter to Hjalti. Saidani's research uncovers Kingo's pattern of manipulating vulnerable young men into extreme acts, confirmed by his previous assistant, Jake Shami, who was coerced into attempting a sexual assault.
The full picture emerges: Kingo arranged for his childless son, Oscar, to adopt Julie's baby, Sophia, who is also Kingo's biological granddaughter. When Julie moved to Copenhagen and sought contact with the child, Kingo used Bovin to eliminate her. Esther's confession at a dinner party about giving up her own child for adoption years earlier provided the hook Kingo needed to convince Bovin that Esther was his birth mother.
A witness spots Bovin on a train with Sophia, whom he has taken from her nursery school. Armed police surround the community garden pond where Kingo keeps a cabin. Bovin holds Sophia hostage in a rowboat. Kingo swims out, and Bovin ties him to the boat before placing Sophia in an inflatable raft and pushing her to safety. Officers rescue the child. Both men die beneath the capsized boat: Bovin has disemboweled himself, and Kingo is found chained to an anchor at the bottom of the pond.
Christian Stender, who falsely confessed to both murders while Bovin was at large, reveals the truth behind the confession: Kingo promised to have Bovin killed if Stender took the blame, and Stender agreed to protect Sophia's adoption secret. Jeppe tells Esther the full story at the hospital. She resolves to sell the building, and she and Gregers plan to start fresh. Jeppe lets go of a brief infatuation with Anna Harlov, learns his ex-wife is pregnant, and finds a fragile sense of peace watching the Perseid meteor shower through his window.