The novel alternates between two protagonists whose lives run in parallel before converging: Jake Kildoune, a young man raised in Hong Kong who has never met his father, and Stella Gilmore, a Scottish-Italian radio producer haunted by a childhood secret.
In Hong Kong on Chinese New Year's Eve, Jake hurries to meet his girlfriend of four months, Mel (Melanie Harker), at the crowded bars of Lan Kwai Fong. As midnight approaches, a devastating crowd crush begins. Mel's best friend Lucy Riddell is killed. Jake suffers a broken arm and dislocated shoulder; Mel is taken to Intensive Care in critical condition. Mel tells Jake she is scared of dying "without having married you" (26). A doctor confides to Jake in Cantonese that Mel will not survive the night, and a priest marries them at her bedside.
At the same time in London, Stella is walking across Waterloo Bridge when she encounters a man whose dense red hair, swollen features, and deep-set eyes trigger an overwhelming panic. She flees to her flat and, that night, packs a bag and drives north toward Scotland. Her older sister, Nina, tries frantically to reach her but cannot.
The narrative moves backward and forward in time, filling in both characters' histories. Jake's mother, Caroline, left Wales as a young woman to travel overland to Asia. In Pakistan, she met a Scottish man named Tom, who told her about a commune he had founded in a place called Kildoune, near Aviemore in the Scottish Highlands. They separated after three weeks. Caroline realized she was pregnant and eventually settled in Hong Kong, naming her son Jake Kildoune after the only concrete fact she knew about his father. Jake grew up bilingual in English and Cantonese, caught between cultures. He searched atlases for Kildoune throughout his childhood but could never find it.
Mel survives against expectations, but Jake feels trapped. He does not love her and never has, yet he cannot leave a woman who nearly died. Her parents propose a formal wedding, and Jake stalls. He accompanies Mel to her family home in Norfolk, profoundly disoriented by Britain, a country he has never visited despite holding a British passport. He decides to travel to Scotland to search for Kildoune and his father's traces.
Stella has taken a job as a general assistant at the Kildoune House Hotel, a lodge near Kincraig in the Scottish Highlands. She lives in a caravan at the forest's edge, having abandoned her London career. Through flashbacks, the novel reveals the source of her flight: a childhood trauma shared with Nina.
The sisters grew up intensely close and socially isolated in Edinburgh. Their mother, Francesca, was the daughter of Italian immigrants who ran a café in Musselburgh, and their father, Archie, was a mild Scottish man. The girls had no friends except each other and were relentlessly bullied, particularly by a boy named Anthony Cusk. Nina contracted a rare virus that attacked her brain, leaving her paralyzed for months and forcing her to relearn basic motor skills. When Nina returned to school, placed back a year into Stella's class, the bullying intensified.
On a school trip to Kincraig, the same area where Stella has now returned, Anthony followed the sisters to a waterfall along the River Feshie. He attacked Nina, raising his fist to strike her head, a blow that could trigger a relapse of her brain condition. Stella stepped on Anthony's loose shoelace and pushed him. He staggered into the river and fell over the waterfall to his death. No one discovered what happened; Nina guarded the secret, which the sisters called "the Thing." This event explained Stella's terror at seeing red-haired men who resembled Anthony, her flight from London, and her sleepwalking episodes at the edges of precipices.
Jake arrives in Aviemore and searches fruitlessly for Kildoune, which appears in no atlas. In a tea room, he notices that the waitress, Stella, wears a uniform embroidered with "Kildoune." She tells him it is a hotel and shows him the location on his map. The hotel's proprietor, Mrs. Draper, hires Jake for outdoor maintenance. When Stella returns from an errand, she finds him in Mrs. Draper's office.
Over the following weeks, Jake and Stella are drawn together. He visits the bothy, a small cottage behind the hotel where the commune once lived. Pearl, a long-time employee, privately notices that Jake's mannerisms resemble those of a young commune member but says little. Jake restores an old bicycle from the barn, and Pearl confirms it belonged to someone of Jake's height and coloring. The bicycle is the closest Jake will get to his father. He and Stella ride it through the countryside, though Stella becomes distressed near the River Feshie.
Their attraction builds until they kiss in the hotel storeroom. They are interrupted by the telephone: A woman asks to speak to Jake Kildoune, identifying herself as "his wife" (270). Stella is devastated and avoids Jake for days. He eventually corners her and tells her the full story of the crowd crush and his obligation-driven marriage. Stella insists he resolve his situation with Mel first.
Jake meets Mel in Edinburgh and tells her he cannot remain married to her. Mel perceives he has met someone else, slaps him, and leaves. Jake returns to Kildoune, but Nina has arrived unexpectedly after a row with her husband, Richard. That evening, Nina visits Jake's room with vodka and marijuana, making sexual advances that Jake does not reciprocate. Stella, searching for Nina, hears sounds through Jake's door that she interprets as her sister and Jake together. By morning, she has left without telling anyone.
Jake wakes to find Nina in his room but does not believe anything sexual occurred. He recalls something Nina whispered: that Stella killed someone. Pearl tells him Stella has gone and refuses to say where.
Stella takes refuge with Evie, her mother's oldest friend and Nina's godmother. Nina tracks her down and insists nothing happened with Jake but confesses she told Jake about Anthony Cusk's death. Stella is shattered, believing this will destroy any chance of Jake loving her. Nina argues that Stella uses the secret as self-punishment, refusing to allow herself happiness.
Jake, nearly broke, searches for Stella without success. He goes to the Iannelli café in Musselburgh, where Francesca confronts him with hostility. As he walks away, Stella's grandfather Domenico hurries after him and whispers one word: "Portobello," the seaside suburb where Stella is staying.
Jake takes a bus and spots Stella and Nina walking arm in arm. He leaps off and runs back, finding Nina on steps leading to the beach. She silently points toward the shore. Jake reaches Stella beside a groyne, a wooden barrier extending into the sea. He tells her what Nina revealed about her past changes nothing and asks her to come to Hong Kong. Stella weeps but refuses, promising only that she might call.
Jake returns to Hong Kong alone. Two weeks pass without a call. Nina drives Stella to a travel shop, begging her to call Jake instead. When Stella emerges with her ticket, Nina reads the destination and says, stunned, "Oh, my God" (365).
Days later, Jake hears Stella's voice on the radio in Hong Kong, reading the news. She has taken a job at a broadcasting station where Jake's childhood best friend, Hing Tai, works. Jake calls the station, then runs through rain-soaked streets to the building. Stella is standing in the doorway. She steps into the rain and raises her hand. They are reunited.