Charlie Kilgore, a 25-year-old production assistant at a public radio station in Boston, was an infant when his family was torn apart by violence at Idlewood, an island cottage on Hero Lake in New Hampshire. Twenty-five years ago, his father, Mark Kilgore, an accountant at his mother Jane Reid's construction firm, stabbed Jane's lover, Isaac Haviland, with a chef's knife on the shore and slashed Jane when she tried to intervene. Charlie's 12-year-old brother, Reid, fled with baby Charlie in a rowboat during the annual Lantern Festival while Mark waded into the water begging them to return. Jane dragged herself to the family's winter bungalow and survived. Mark's car was found at a trailhead in the White Mountains, and police concluded he died on the mountain, though his body was never recovered.
At his producer Julian's urging, Charlie returns to Hero on Memorial Day weekend to launch a true-crime podcast about the murder. Seton Haviland, Isaac's daughter and the acting chief of police, discovers the project and is furious; she and Charlie have been friends since childhood, bonded by shared tragedy. Tensions in Hero center on a lakefront development at Burkehaven Cove. Paul Burke, Mark's old friend and a New York attorney, hired Reid to design the project and Jane's firm to build it. Andrea Haviland, Isaac's widow and chair of the conservation commission, protests from her motorboat.
That evening, the family gathers at Idlewood for dinner and cards. Charlie pushes for stories about his father, and Jane and Hadley, her sister and a trauma surgeon, recall how their group of friends first formed. When Hadley accidentally mentions the podcast, Jane erupts, and Reid tells Charlie the story is not his to tell. Later, Jane softens, hinting that both she and Mark bore responsibility for the marriage's failure. She promises to share something important after a site visit near Finstock. At the firepit, Paul tells Charlie the key is to cut out evil before it takes root.
The next morning, Charlie spots smoke billowing from Burkehaven during a run. He races to the site and sees someone collapse in the courtyard before a tree limb swings at his head and knocks him unconscious. Seton finds him, charges into the inferno, and Charlie follows. Together they drag out Andrea, barely breathing. Investigators confirm arson.
Detective Duncan Gilcrest, who was the young officer who first responded to the Idlewood murder 25 years earlier, takes charge of the case. Security footage exonerates Andrea, showing she arrived after the fire started. That evening at the Landing, Andrea's café, a man in thick glasses and a gray ponytail strikes up a conversation with Charlie and knows his name. Charlie recognizes the man's blue eyes as identical to his own, believes the man is his father, and steals the pint glass for DNA testing.
Charlie connects with Freya Faith, a TV actress and Paul's most important client. Freya played a special agent on
Scene of the Crime, a police procedural that once aired an episode based on the Idlewood murder. She grew up summering at Burkehaven, knew all the players, and says certain details never seemed logical. In the show's writers' room, she devised a twist in which the husband was having his own affair with the victim's wife, suggesting the wife should always be a prime suspect.
Back at Idlewood, Charlie reenacts the crime and realizes Reid could not have heard Isaac say "my love" from the porch: The distance is too great. Reid's testimony contained a lie repeated for 25 years. Before Charlie can act, Gilcrest and his partner, Detective Cornell Stamoran, bring him to the station and reveal Jane had no projects in Finstock. Then Gilcrest delivers devastating news: A body found in the wreckage is Jane's. She was killed by blunt-force trauma before the fire was set.
Charlie grieves. Gilcrest reveals Jane used a burner phone the night before the fire to call another burner traced to the Finstock area. Freya coaxes Charlie out of isolation. At Vance Moodey's lumberyard, Vance breaks down and reveals he and Jane had been dating. Charlie cries for the first time since his mother's death. He and Freya begin investigating. Freya recalls that as a teenager, Hadley was infatuated with Mark Kilgore. Andrea examines Reid Construction's books and discovers payments from Vance tied to a Finstock project that Reid lost and never repaid.
Charlie confronts Reid on the dock, accusing him of financial mismanagement and implying he may have killed their mother. Reid denies everything and tells Charlie he loves him. At Burkehaven, Hadley reveals what Jane once confided: Jane feared Reid had killed Isaac as a 12-year-old and spent her life shielding him, keeping Charlie at a distance to protect him from the truth.
Returning to Idlewood after dark, Charlie collides with his father on the footbridge. Mark, soaking wet with his glasses askew, says he tried to stop what happened, then vanishes. In the cove, Charlie finds Reid's body floating in the water. Hadley calls time of death and notes a contusion on his skull: blunt-force trauma, the same cause as Jane's death.
Freya's stalker resurfaces when "WELCOME HOME" appears on her truck windshield in blue nail polish stolen from her condo. Charlie confirms Reid's alibi for the night of Jane's murder through Blancy, the Landing's bartender and Reid's longtime secret partner, who reveals Reid spent the entire night with him. Realizing Reid was not the stalker, Charlie drives to Burkehaven Farm, where he finds a bloody chef's knife and discovers Mark stabbed and bleeding in the back of Freya's truck. Following the howls of Ginger, Freya's German shepherd, up the mountain, he finds Gilcrest shot and Freya bound in an old hunting cabin with Paul pacing before her, gun in hand.
Paul is the stalker. He spent decades isolating Freya until she depended solely on him. Isaac discovered Paul was the stalker and blackmailed him for $50,000. Paul manipulated 12-year-old Reid into killing Isaac by telling the boy to cut out the evil destroying his family. Years later, when Charlie unknowingly repeated that phrase to Jane, she realized Paul had poisoned her son's mind and threatened to expose him. Paul killed Jane at Burkehaven and set the fire. He later drowned Reid when Reid learned the truth. He also confesses to killing Detective Wendy Burrows, the original lead investigator, by rolling her car into the lake years earlier. Mark, alive all along, confronted Paul after Reid's death, and Paul stabbed him.
Seton arrives by helicopter as Charlie holds Paul at rifle-point. Charlie sets the gun down, and Paul surrenders.
Two weeks later, Charlie settles into life in Hero, having breakfast daily with his recovering father. Mark explains he fled after the original murder because he could not turn in his own son; Jane provided cash for him to live off-grid near Finstock. Charlie abandons the podcast, deletes all recordings except his final conversation with his mother, and resigns to run Reid Construction. He donates Idlewood to the town, keeping only the dock and the bungalow.
A DNA test on the pint glass confirms Mark is Charlie's father, but a second test against Jane's DNA yields an unexpected result. Hadley admits she and Mark had a one-night stand the summer before Jane and Mark began dating: Charlie is their biological child. Jane raised him as her own, and the affair drove her into the relationship with Isaac. On the dock, Seton kisses Charlie's fingers, and the wall between them begins to dissolve. On the summit overlook, Charlie saves his mother's voice in a private place and decides the story is his alone to keep.