The novel opens with a flash-forward: Kathryn Hu sits in a police interrogation room, insisting she made good decisions at every step yet finding herself suspected of murder.
Three weeks earlier, Kathryn is a chemistry postdoc at Harvard enduring a terrible day in the lab. Her boyfriend of three months, Tucker Jones, works in private equity and was born without a sense of smell (congenital anosmia). That evening, Kathryn impulsively drives to Tucker's condo, where she finds a trail of rose petals and candles. Convinced he is about to propose, she sneaks upstairs and overhears Tucker rehearsing vows. She bursts out half-dressed shouting "Yes!" just as he finishes: "Will you marry me, Olivia Valentina McCarthy?" A woman in a gold dress sits on the bed. Tucker has been dating both women simultaneously. Kathryn pockets the engagement ring and flees.
Alone in her apartment, Kathryn confronts her isolation: no nearby friends and parents who respond to the breakup with career pressure rather than comfort. She stalks Olivia McCarthy's social media, accidentally likes an old photo, and Olivia messages her. Over boba tea, they compare notes and discover how Tucker maintained parallel lives. Olivia, a criminal defense lawyer, declares Tucker must pay and mentions a revenge podcast called
Dish Served Hot, hosted by Mandy Thorne. When Kathryn reveals she has a nonrefundable beach trip, Olivia volunteers to come along.
At the York Beach Airbnb, Tucker is already inside with yet another woman: Elle Henderson, who met him on Tinder. Tucker flees, and the three women bond at a local arcade bar over drinks and the podcast. They vow that "Tucker Jones must die," metaphorically, and begin planning pranks.
Back in Boston, Tucker appears at Kathryn's door with a baby bunny, exploiting her grief over her recently deceased pet rabbit. He claims he is in danger from "really bad people," but Kathryn pushes him out and commits fully to revenge.
Dressed in black, the three break into Tucker's condo. Kathryn releases lab frogs, Elle smears feces on surfaces and deposits glitter in the dryer, and Olivia pours hair-removal cream into Tucker's shampoo. Olivia also cracks a hidden safe and finds a coded ledger, then takes Tucker's laptop.
When Kathryn opens the walk-in closet, she catches a whiff of rotten eggs. She opens the bedroom windows and turns on the ceiling fan before returning to the closet, where she discovers Tucker's discolored, lifeless body. She attempts CPR, cracking his ribs, before Olivia and Elle pull her away.
At Olivia's townhome, panic sets in. Their DNA and prank evidence cover the crime scene, and they possess the stolen laptop. Olivia argues against calling police, citing her experience with wrongful convictions. They plan for Olivia and Elle to record the podcast under aliases, establishing a narrative of forgiveness, while Kathryn returns to clean the condo. They adopt burner phones and call themselves the Ex-Girlfriend Murder Club.
Kathryn's cleaning is interrupted when Detective Adrian Birch arrives, summoned by neighbor complaints. A trapped frog thumps against the closet door; Birch opens it and detects decomposition. Kathryn feigns shock and throws herself onto Tucker for CPR to explain the DNA and broken ribs from her earlier attempt. Olivia arrives at the station as Kathryn's lawyer and extracts her before charges are filed.
Mandy airs a manipulated version of the podcast interview, claiming the women murdered Tucker, and pivots the show to true crime. Most details are fabricated, but a few lucky guesses alarm the group.
The investigation deepens. Through Tucker's laptop, Olivia confirms his massive debt and discovers that an entire week of security footage was deleted before their visit. Elle befriends Tucker's coworker Blake and learns Tucker pressured colleagues to invest in a men's underwear company called Balls In, losing their savings. Tucker's secretary, Lacey Williams, gives Kathryn fraudulent invoices, and Kathryn's father, an accountant, traces the fraud to shell corporations with Cayman Islands bank accounts.
Detective Birch reveals Tucker died of hydrogen sulfide poisoning, a lethal gas produced by mixing fertilizer with household cleaner inside a rigged bucket in the closet. A wire connected to the closet door triggered the chemical reaction when Tucker entered and the spring-loaded door closed behind him. Because Tucker could not smell, he never detected the gas. Kathryn realizes the killer deliberately exploited his condition, narrowing the suspect pool. Birch offers a deal: He will not arrest Kathryn if she cooperates with the investigation. She agrees.
Kathryn discovers a USB drive hidden in a plush toy Tucker placed in the bunny's basket, containing 15 names of people he feared or owed money. One contact, Raymond Underwood, proves dangerous. At a café, Ray reveals himself as a violent loan shark owed $150,000 and discloses that Tucker was married to a woman named Lauren. When Olivia brings the engagement ring as payment, Ray examines it with a jeweler's loupe and declares the diamond fake. As the situation escalates, Kathryn secretly presses a Life Alert pendant on her keychain, a GPS-enabled gift from her mother whose signal Detective Birch had arranged to receive. Birch arrives with backup and arrests Ray and his enforcer.
Birch then traces the podcast alias to Olivia's IP address and gives them one week to prove their innocence. To protect Elle from being identified as the third woman whose unidentified DNA was found at the crime scene, the group tearfully separates. Elle channels her writing into viral articles under the pen name "Lassy McBush," discrediting Mandy's podcast.
A breakthrough comes when Kathryn's mother advises her to "meet the parents." Using the maiden name from Tucker and Lauren's marriage certificate, Kathryn and Olivia find Lauren's mother, Julie Watson, in a Massachusetts town near Tucker's actual high school. Julie describes Tucker as charming but controlling, someone who isolated Lauren from her family. She shows them a wedding album whose photos contain a detail that confirms beyond doubt Lauren killed Tucker. Breaking into Tucker and Lauren's home, they also uncover a four-million-dollar life insurance policy payable to Lauren.
Kathryn and Olivia meet Elle one final time. As they leave, Kathryn notes that Tucker had nicknames for her ("Kat") and Olivia ("Liv") but never one for "Elle," because that is not her real name. Olivia adds that it is "nice to know what Elle stands for now." They walk away, leaving Elle, actually Lauren Watson-Jones, Tucker's wife, standing in shock.
Kathryn drives to the police station and kisses Detective Birch, choosing to trust again. She articulates her final law: "There are no laws; you make your own luck."
The epilogue shifts to Lauren's perspective three days later, revealing her full deception. After discovering Tucker's affairs and financial crimes through his iPad, she orchestrated everything: She texted Kathryn from Tucker's phone to ensure the proposal interruption, created the "Elle" persona on Tinder to infiltrate the group, rigged the hydrogen sulfide trap, filed the noise complaints that brought the detective to the condo, and fed Mandy anonymous tips before writing the Lassy McBush articles herself when the podcast got too close to the truth. With a Maldives flight booked and the insurance payout in an untraceable account, Lauren has every reason to disappear. But she reflects on how Kathryn and Olivia sacrificed themselves for her and, upon discovering the truth, gave her a choice instead of turning her in. Lauren's taxi pulls up not to the airport but to the police station, where Olivia waits outside. Lauren walks in to turn herself in.