Julia lives in Tuscany with her husband Gianluca Moretti, the director of the Marucelliana Library in Florence, and their three-year-old daughter Leni, on a vineyard estate she inherited five years earlier. One evening she impulsively FaceTimes her best friend since high school, Courtney, who is visiting her grandmother Kay Patterson's farm in rural Buckley, Pennsylvania. While they talk, Julia is overcome by sudden dread, the same feeling she experienced just before her first husband Mike was stabbed to death in front of her in Philadelphia. Julia shouts at Courtney not to enter the house, but Courtney goes inside and discovers Kay's body on the living room floor, shot to death. Courtney chases a man out the back door toward a black pickup truck but trips before she can reach him.
Julia flies to Pennsylvania despite Gianluca's concerns. After Mike's murder, Julia experienced visions and consulted a renowned medium named Helen Davenport, who confirmed Julia had psychic ability, but Julia never pursued mediumship lessons and the experiences stopped. Gianluca fears they are returning and asks Julia to promise she will go to the police rather than investigate herself. She agrees but privately intends to solve the murder.
During the drive to central Pennsylvania, Julia passes her childhood hometown and recalls a repressed memory: as a nine-year-old, she saw her father getting out of another woman's car at the train station, and when she called out, he gaslit her and threatened punishment if she told her mother. Near Buckley, a massive fireball engulfs her car in what appears to be a terrifying vision, but moments later there is no fire anywhere.
At Kay's farm, Detective Kowalski, who has never handled a murder case, leads the investigation with no suspects. Courtney mentions that decades earlier, a man named James Shoemaker was found murdered in a well on the neighboring farm owned by Bill McKenna, who then disappeared; that house later burned down. Julia goes outside, feels drawn to a spot in the yard, and hears a woman screaming in terror. She faints. When she revives, Courtney tells her she walked directly to Kay's garden, a place Julia has never seen and Kay's favorite spot.
That night, Julia calls Helen Davenport for guidance. Helen answers and advises Julia to trust her gift. Afterward, Julia discovers Helen's obituary online: Helen died months earlier. Julia's phone shows no record of the call, meaning the conversation was either a vivid dream or a communication from Helen's spirit.
As they investigate, Kay's friends Mona and Susan visit the farmhouse. Mona notices that Kay's basket of "found objects," items collected at environmental clean-ups organized by a local group called Shenandoah Preservation, is missing. Kay had found something significant at the last clean-up the day before her murder. Julia theorizes the killer's real motive was this mysterious object, not the cash stolen from Kay's jewelry box.
State troopers recover a ghost gun from Kay's pasture. A ghost gun is a 3D-printed firearm that is untraceable because it lacks a serial number. Chief Glushenko, who has led the Buckley police for 29 years, dismisses the missing basket theory. Courtney reveals the clean-ups are run by Alex Dudek, her first boyfriend from summers in Buckley. Alex tells them Kay's closest friend at the clean-ups was Samuel Palkovich, a retired geologist. At Samuel's remote cabin, they discover dozens of photographs of Kay taken secretly from the treeline beside her pasture.
At a funeral home viewing, Julia experiences a vision: a shadowy face with burning dark eyes, then an agonizing blow to her chest. She believes she has felt the gunshot that killed Kay. During the funeral ceremony, police storm in and arrest Courtney for Kay's murder. A second ghost gun was found during a search of Courtney's motel room. The prosecution claims Courtney, who sells 3D printers professionally, printed the weapon, killed Kay to inherit the farm, and fabricated the story about chasing a killer. Criminal defense attorney Bennie Rosato identifies critical weaknesses in the case: no fingerprints on the gun, no gunshot residue test, and a rushed arrest before ballistics results, all suggesting the weapon was planted.
Meanwhile, Gianluca faces his own crisis. A substitute pediatrician suspects him of abusing Leni after learning about her bed-wetting, sleeplessness, and imaginary friend "Wild Child" who whispers to her. The examination finds no evidence, but a report is filed, leaving Gianluca furious and humiliated. Back in Pennsylvania, Alex reveals that white supremacists may be embedded in the Buckley police force and believes Courtney was framed, with her race a potential factor.
Samuel is found dead in an apparent suicide. At the prison for Courtney's arraignment, a lockdown alarm sounds. Aryan gang inmates attack the SWAT team, correctional officers, and Alex in the hallway. Courtney's cellmate, a young biracial woman, is stabbed to death in a case of mistaken identity; the attacker believed she was Courtney. Alex is killed by a blow to the head during the chaos. Courtney survives only because she had been taken to the infirmary minutes before the attack.
Julia and Courtney's husband, Paul, search the archives of a local Revolutionary War reenactment club and discover that McKenna was active in the regiment alongside Shoemaker and a teenager named Patrick Novak. Julia recognizes Novak as a man who approached her in college using aliases and later sexually assaulted another woman, the same person Courtney had warned her about years ago. She also spots a 3D-printed musket among the regiment's props, linking the group to ghost gun manufacturing.
Julia follows Novak from a reenactment practice to a remote farm, where she discovers a barn full of 3D printers manufacturing ghost guns on a massive scale. McKenna, alive and leading a domestic terrorist group called the "Two-Fifty Brigade," reveals a plan to detonate a truck bomb at Valley Forge National Park during the 250th anniversary celebration of the American Revolution. Novak confesses he murdered Kay to retrieve a prototype commemorative coin she found at a clean-up. McKenna executes Novak for his carelessness, and Julia flees through the woods at dawn.
Racing to Valley Forge, Julia realizes the bomb is hidden in a food truck in the crowded picnic area, connecting this to her earlier fiery vision, which was a premonition. She runs through the food court screaming warnings. Paul, who traced her through GPS and called police, arrives with officers to help evacuate. The truck explodes, injuring over 150 people, but no one is killed. Julia is knocked unconscious by the blast.
She wakes in the hospital with Gianluca and Leni at her bedside. All surviving conspirators are arrested, and the abuse allegations against Gianluca are dropped after the doctor is found to have filed similar false reports against other fathers. Bennie pressures the detectives to release Courtney by threatening to sue them for complicity, and they relent.
After scattering Kay's ashes in her garden, Julia feels drawn to Kay's bedroom, where they find Courtney's childhood Black Holiday Barbie doll with its dress torn off. When Julia holds the doll, she channels Kay's spirit and learns the truth: Decades earlier, Shoemaker stole the doll and displayed it as a racist threat against young Courtney. Kay confronted him at McKenna's farm. He punched her in the chest, and when she shoved him in self-defense, he slipped, struck his head on the well, and fell in, dying. Kay carried this guilt for the rest of her life. Julia realizes her funeral home vision was not Kay's murder but this earlier moment at the well. Courtney forgives her grandmother, and Kay's spirit departs in peace.
At the grave of Julia's adoptive mother, Melanie, Leni calls Julia "JJ," a nickname only Melanie used and Julia never shared with anyone, confirming Leni has inherited Julia's psychic gift. In an epilogue set that September, McKenna has pleaded guilty to murder, conspiracy, and domestic terrorism. Glushenko and two Buckley officers have pleaded guilty to conspiracy in Samuel's murder. At Alex's memorial, Courtney donates Kay's farm and estate to Shenandoah Preservation and announces a nonprofit she has built for female parolees. She and Paul begin marriage counseling. Julia feels fully at home, both American and Italian, at peace with her gift, her complex identity, and the life she has built.