The novel opens at Nice's Côte d'Azur Airport, where an unnamed woman is detained after a customs agent discovers a 14th-century Persian manuscript sewn into her backpack's lining. This scene, later revealed to be from protagonist Stella's past, establishes a criminal history that shapes the entire story.
The main narrative begins in Paris, where Stella and her husband Adam, an Atlanta-based dealer of reclaimed architectural antiques, are finishing a three-week European vacation. After a final meal at a small restaurant, Adam jogs back to retrieve forgotten sunglasses while Stella heads to their hotel. Moments later, an explosion destroys the restaurant and surrounding block. Stella races toward the chaos, searching the square for Adam among dust-covered bodies. Unable to find him, she makes a televised plea on the international news channel France 24, and the broadcast goes viral. The media dubs her "The Paris Widow."
Interspersed with Stella's search are flashback chapters narrated by Adam. Eighteen days before the bombing, while sailing with Stella off Capri, he spots a yacht called the Aphrodite IV, recognizes it, and grows visibly shaken, later describing it as "a dangerous, dark cloud looming in a sea of blue" (50).
In Paris, Lieutenant Colonel Arnaud Collomb of the Paris Police tells Stella that Adam's antique shop is a front for brokering "blood antiquities," artifacts looted from war-torn countries and sold to wealthy collectors. Collomb calls this trade the third-largest international criminal enterprise after drugs and arms dealing. Adam's phone was found in the wreckage. Shaken, Stella asks her best friend Katie, an oncology fellow at Emory University, to quietly remove suspicious items from their Atlanta home before police search it.
Among Adam's belongings, Stella finds a gold ring shaped like a belt buckle with mysterious inscriptions. A man named Lucas Fournier contacts her, claiming to be a US Embassy official assigned to her case. At a later meeting, Lucas tells Stella that Adam was on the verge of arrest before the bombing and that police suspect he may have faked his disappearance. He returns Adam's iPhone. Stella also discovers Adam's wallet in her bag, containing a white card with 48 handwritten digits she suspects correspond to Luxembourg bank accounts. She visits Antoine Bernard, Adam's Parisian antique-dealer contact, who reacts with alarming intensity to the ring, grabbing Stella's wrist and offering 10,000 euros. Stella flees.
A flashback reveals Adam on the phone with a demanding female client who threatens him for failing to deliver the ring and other items, mentioning Stella by name. Back in the present, Stella's hotel suite is burglarized: Adam's laptop is stolen, but her jewelry is untouched, confirming the thief sought something specific. Collomb delivers another blow: Human remains matching Adam's description have been found at the blast site. Another flashback introduces Adam's Dutch contact, Katrijntje Ryskamp, known as Kat. She stages a chance encounter in Amsterdam to warn him about Aljazaar, Arabic for "The Butcher," a Moroccan mobster whose enemies all disappear or die.
Zoé, Antoine's shop assistant, secretly meets Stella and reveals she overheard Adam and Antoine arguing violently about
le marché noir, the black market. She warns that Adam's enemies will now target Stella. Soon after, a motorcyclist hands Stella a phone, and Adam's voice comes through: He is alive. He instructs her to discard her iPhone to prevent tracking and to let everyone believe he is dead. He says Kat will come for the ring, tells Stella to burn the white card, and begs her to go home.
At a natural history museum, Kat explains that the ring once belonged to the Irish playwright Oscar Wilde, was stolen from Oxford University in 2002, and resurfaced on London's underground market. Adam took it from Antoine, who had acquired it first. Kat promises to return the ring to the Oscar Wilde Society and reveals that Aljazaar works for Adam's client, a woman who ordered the bombing. Stella surrenders the ring. Hours later, Adam sends a video showing Kat thrown from a hotel window and killed. Stella calls the embassy and learns no one named Lucas Fournier works there. Lucas is Aljazaar, posing as a diplomat to monitor her movements.
Stella's full past is then revealed. Before Adam, she spent two years with Suleiman, called Sully, a Turkish man who hid money for criminals and corrupt elites. She carried items across borders for him, including the Persian manuscript, leading to her arrest and 26 nights in a French jail. She now calls Sully for help, and together they identify Adam's dangerous client as Margot Fazzari, whose yacht was the Aphrodite IV.
Stella recalls a Venetian glass heart necklace Adam gave her in Venice, which he said could only be broken with a hammer. She smashes it and discovers a hidden SIM card containing 347 contact files documenting Adam's illegal transactions over nearly a decade, including names, prices, bank records, and photographs of stolen artifacts. Margot is a major client. Stella copies the data onto thumb drives, stores one in a rented locker, and mails the other to Katie with instructions to send it to CNN if Stella does not check in. She also confronts the blond British man who has been following her. He identifies himself as Alexander Finneas Pearson, called Finn, an agent of MI6, Britain's foreign intelligence service, and warns that Collomb has uncovered her sealed criminal record.
Stella goes to Margot's Paris apartment, where Lucas opens the door, confirming he is Aljazaar. Margot reveals that Adam had been selling her forgeries while his partner Kat returned the genuine artifacts to their rightful owners. Antoine exposed the deception. Lucas has read Stella's encrypted messages and lured Adam into the trap. Adam arrives and offers Margot everything in exchange for Stella's freedom, while Stella plays her insurance: a backup of the SIM data already en route to the US. Margot orders Lucas to kill them. In the struggle, Adam is shot in the chest. Before Lucas can finish them, French police storm the apartment, led by Collomb.
At the hospital, Finn reveals that four years ago, Adam contacted MI6 and offered to build a case against the entire blood antiquities network. His condition was that Stella be protected and her criminal record erased. Adam had entered the trade to fund lifelong medical care for Babs, the daughter of his sister Julia, who has severe congenital disorders. As the business grew beyond his control, Adam began forging replicas for clients and channeling real artifacts to Kat for return to their rightful owners. Stella realizes the anonymous call that brought police to Margot's door came from Sully. Finn asks if Stella has anything to trade for witness protection.
Three months later, Stella sits at a Parisian café with blond hair and colored contacts, living as Estelle Tremblay, a French citizen via a Maltese golden passport. Adam survived surgery and weeks of rehabilitation. While Finn used the SIM data to round up corrupt dealers, Stella moved between safe houses across Europe. She kept Adam's Luxembourg accounts, using the funds for Babs's care and their new identities. Stella climbs into a black SUV and finds Adam, now bearded and going by Noah. He has found them a stone house in the South of France. She takes a last look at Paris and tells him it sounds perfect as they drive toward a new life.