On a June morning in 2018, Chris Avery, an aging first-person narrator, hikes into a remote valley in the Appalachian Mountains of western North Carolina. He catches and releases a small brook trout at a waterfall pool, then climbs to two stone cairns at the top of the falls, memorials to his two closest childhood friends, Brook and Walker. Sitting beside them, he retrieves a folded letter and a small wooden slingshot from his pack. The letter, in Walker's handwriting, begins "To my best friend, Chris," and the narrative shifts into Chris's decades-long recollection of their shared past.
In the spring of 1973, ten-year-old Chris moves with his family from Raleigh to a farmhouse in Transylvania County after his father accepts a job at a nearby paper mill. Their neighbor, Grady Davis, is a reclusive dairy farmer who refuses to answer the door for weeks until Chris's mother leaves a pan of cornbread on his porch. Days later, Chris ventures up a creek and is chased up a tree by a feral boar. Walker Davis, Grady's son and a boy Chris's age, emerges from the woods and drives off the hog with well-aimed rocks. Chris notices Walker's tattered clothes and dirt-smeared face, early signs of the family's poverty. He gives Walker his slingshot in gratitude, and Walker invites Chris to his birthday, where Chris also meets Brook Palmer, Walker's closest friend.
Brook is the daughter of a lawyer from Charleston, South Carolina, whose mother abandons the family during Brook's childhood. Her father drinks heavily in the aftermath. Over the years, Chris, Walker, and Brook form an inseparable bond. Walker and Brook become sweethearts, and Chris serves as emotional anchor for both. Around bonfires in the mountains, Walker shares his belief in "whispering winds," voices carried in the breeze that are not ghosts but something spiritual, heard in the wind and felt in the bark of trees.
On Walker's 21st birthday in May 1983, Chris takes him to a remote spot called Lonesome Valley, where they discover the waterfall that will define their lives. Walker reveals he has sold jewelry left by his late mother to save for an engagement ring for Brook, though the dairy is barely profitable.
In the summer of 1984, Brook persuades Chris to introduce a new transfer student by taking him fly fishing. Paul Anderson Wright is the son of two Charleston physicians, handsome, wealthy, and confident. Despite Walker's resistance to outsiders, Paul's genuine emotion upon catching his first trout wins Walker over. The trio becomes a quartet, but Paul brings friction alongside energy: He shows romantic interest in Brook, placing his hands over hers in the calf barn while Walker watches, visibly angry.
Chris begins dating Maddy Caldwell, Brook's best friend, sharing a first kiss beneath the waterfall's mist. At the Fall Formal in October, Walker punches a classmate named Jake for making advances on Maddy. That night, Walker confides that he alluded to a proposal to Brook. During a November deer hunt, Paul tells Chris he has feelings for Brook, and Chris is furious.
On Christmas Eve, Chris finds Walker devastated in a snowy gazebo. The dairy herd has been diagnosed with Johne's disease, a chronic bacterial infection that ravages cattle, and the farm is failing. Walker has spent Brook's ring money keeping the operation alive. Believing he will only drag Brook down, Walker considers ending the relationship. Chris drives to Brook's house and tells her everything, hoping she can intervene. Brook races to the Davis farm, and the two argue violently on the porch in a blizzard. Walker ends the relationship.
The winter and spring of 1985 are brutal. Walker descends into heavy drinking and blames Chris for meddling. During a trip to Asheville, Paul kisses Brook while Chris is briefly away. Brook lets the kiss linger before pulling away in confusion. Chris sees it, shoves Paul, and demands they leave.
On April 12, Chris drives to Lonesome Valley to fish with Paul but finds Walker's truck at the trailhead alongside Paul's car. He sprints down the trail and watches from the top of the waterfall as Walker and Paul argue below. Walker throws the first punch. Paul swings a river stone at Walker's head, hitting his shoulder instead. Walker seizes the stone and strikes Paul in the temple, killing him instantly. Chris scrambles back up the rock face, nearly falls into the stream, and is pulled to safety by what appears to be a vision of Paul before losing consciousness.
Chris wakes after dark and endures a harrowing nighttime hike out, including a charge from a mother black bear. At home, he lies about where he has been. When Paul's body is found and Walker is arrested, Chris goes to the sheriff's office and tells the truth. Sheriff Jackson, a lifelong friend of Grady's, shuts him down, provides a fabricated alibi, and warns Chris could be implicated if he does not comply. Terrified, Chris agrees.
Walker is charged with second-degree murder and pleads not guilty. Chris helps Grady run the dairy alone, rising before dawn each morning. The town divides bitterly over Paul's death. At the trial in July, the prosecution presents testimony confirming Paul's injuries are inconsistent with a fall, while the defense challenges the medical examiner's impartiality due to his friendship with Paul's parents. After the first day of trial, Chris visits Walker in jail. Walker reveals he knew Chris was watching from the falls and kept him out of the trial to protect him. He plans to change his plea: He is no liar, and the deception is destroying his soul.
The next morning, Walker's attorney announces Walker wishes to plead guilty. Brook, crying, asks Chris if he knew. Chris says nothing. Brook flees the courtroom. The following dawn, Chris wakes from a vivid dream filled with whispering voices, the last being Walker's, speaking a single word: "Brook." An hour later, he races to the Looking Glass Rock trailhead, where police are already present. Brook has died by suicide.
Chris locks himself away for weeks. Brook's funeral is held in the rain at a small church. The town empties as classmates scatter. When Grady prepares to leave Brevard, having lost the dairy, Chris sprints after his truck and proposes they run it together using money his parents set aside. Grady agrees.
The narrative returns to 2018. Walker spends over 30 years in prison, during which he and Chris rebuild their friendship through regular visits, though they never speak of Brook or Paul. Chris eventually marries Maddy, and Walker is listed as best man at the wedding, though his place at the altar stands empty. Walker dies from pancreatic cancer in April 2018, leaving behind the letter Chris now reads. In it, Walker expresses deep remorse, confessing he lied to protect those he loved but destroyed everything instead. He writes that the whispering winds are the voices of departed loved ones living in the mountain air and tells Chris to listen for him in the breeze.
Chris whispers forgiveness. A gust of wind shakes the forest, and the mist above the falls lifts into the sky. Chris tells Brook and Walker to be free, promises he will see them soon, and begins the hike out of Lonesome Valley, his mind turning to what Maddy has made for lunch ahead of the afternoon milking.