Renée Ballard works the late show, the graveyard shift at LAPD's Hollywood Division, where she was exiled after filing a sexual harassment complaint against her former supervisor. One night, while writing reports alone, she catches a man rifling through file cabinets. He identifies himself as Harry Bosch, a retired LAPD homicide detective now serving as a reserve officer for the San Fernando Police Department. The watch commander vouches for him, but Ballard discovers Bosch picked the lock on a detective's cabinet. She learns from Sergeant Stan Dvorek that Bosch is investigating a nine-year-old unsolved murder: the killing of Daisy Clayton, a 15-year-old runaway whose body was found in a dumpster off Cahuenga Boulevard.
Ballard pulls up the digitized case files. Daisy was a chronic runaway from Modesto, California, who repeatedly fled her single mother, Elizabeth Clayton, to live on Hollywood's streets. Her companion, 19-year-old Adam Sands, was in jail on a warrant the night she was taken, clearing him as a suspect. Daisy's naked body showed signs of sexual assault, torture, and strangulation. Her fingernails had been removed and her corpse submerged in bleach to destroy evidence. The only unexplained clue was a circular bruise on her hip containing the letters A-S-P in a crossword pattern. The case went cold within six months.
Ballard contacts Detective Lucia Soto, Bosch's former LAPD partner, who was briefly assigned the Clayton cold case before being pulled onto a task force. Soto gives her blessing to work the investigation. Ballard tracks Bosch to San Fernando and tells him she wants in. Bosch shows her a 25-gallon plastic container made by American Storage Products (ASP) and explains that the bruise on Daisy's hip was the manufacturer's logo stamped into the container's underside. The killer stuffed Daisy's body into such a container and filled it with bleach. Ballard offers access to 12 boxes of old field interview cards, known as "shake cards," that patrol officers filled out during street encounters near the time of the murder. They agree to work together.
Meanwhile, Bosch pursues a separate cold case in San Fernando: the 14-year-old murder of Cristobal Vega, a gang leader known as "Uncle Murda." Through prison interviews, Bosch identified a suspect, Tranquillo Cortez, Vega's nephew by marriage, and located a witness named Martin Perez who saw Cortez test-fire a homemade silencer at a muffler shop. A search warrant yields bullets from the shop's wall, but the slugs are too damaged for ballistic comparison. Hours later, Perez is found shot dead in his apartment with Bosch's business card placed between his teeth.
Bosch and his partner, Detective Bella Lourdes, trace the leak to Detective Oscar Luzon, a squad member with an undisclosed connection to the suspected shooter. Confronted, Luzon admits he approached the gang member, then locks himself in a cell and attempts to hang himself with his necktie. The ceiling grate gives way and Luzon fractures his skull. He survives but is in critical condition. Chief Valdez suspends Bosch, ending his San Fernando career.
Bosch's personal life unravels in parallel. Elizabeth Clayton, Daisy's mother, has been staying at his house since he helped her through opioid recovery the previous year. Her presence has driven away his college-age daughter, Maddie. After Elizabeth and Bosch sleep together one night, Elizabeth disappears, leaving only a brief note. Bosch traces her last ride to a bus terminal but cannot find her.
On the Clayton case, Ballard and Bosch spend nights sorting through thousands of shake cards between her regular callouts. Ballard follows up on John McMullen, a street preacher who calls himself "John the Baptist" and drives a van through Hollywood baptizing people he meets on the streets. At the Moonlight Mission, McMullen's storefront church, Ballard finds a photo of Daisy dated four months before her murder and confirms through a garage invoice that McMullen's van was in the shop during the window of the abduction, clearing him.
Ballard also handles several standalone cases, including a burglary where she meets crime scene cleaner Roger Dillon of Chemi-Cal Bio Services (CCB), a false rape accusation involving a celebrity, and a missing-persons case that becomes a homicide when the victim's roommate confesses to killing and dismembering him.
When Bosch fails to appear at the station or answer his phone, Ballard drives to his house and finds the back door open, uneaten food on the table, and his bed still made. She calls Maddie, who checks a mutual phone-tracking app and reports that Bosch's signal died near an abandoned compound above Sylmar. Ballard enlists Heather Rourke, a tactical flight officer on an LAPD helicopter, who spots structures at the location. Ballard, Lourdes, and another detective converge on the site. They hear banging from a shed and find Bosch bound in a dog kennel, bloodied but alive. His captors, members of the eMe (the Mexican Mafia), were holding him for Cortez. The police helicopter that morning had panicked the lone guard, who fled. Ballard frees Bosch with a crowbar.
The LAPD's Special Investigation Section (SIS), an elite surveillance unit, lures Cortez to a meeting using a spoofed text. When his bodyguard exits their car with a gun, SIS officers open fire and kill both men. Bosch watches from the command car as Cortez dies at his feet.
The Clayton case breaks open through Ballard's review of the murder book, the compiled investigative file, from an unrelated crime. Two days before Daisy's abduction, a tattoo artist was stabbed to death at her shop on Sunset Boulevard; the killer was caught and was in custody when Daisy vanished. But buried in the chronological record is a critical entry: on the night Daisy was taken, crime scene cleaner Roger Dillon called detectives to report finding evidence at that crime scene. This places Dillon in Hollywood with his work van, chemicals, and biohazard containers on the exact night of the abduction. Ballard confirms that Dillon's company orders the ASP containers whose logo was pressed into Daisy's skin.
Ballard breaks into Dillon's warehouse through a corroded skylight. Inside an out-of-service truck, she discovers a thin mattress, a metal restraint loop bolted to the floor, and a broken pink fingernail. When Dillon returns and locks her in the truck, Bosch, who obtained Dillon's address from the watch commander and arrived to find him acting suspiciously, strikes Dillon unconscious from behind.
Bosch insists Ballard leave, since her warrantless entry renders everything she found inadmissible. Alone with Dillon, Bosch records selectively so only Dillon's unprompted statements are captured. Dillon admits to killing Daisy, explaining he cleaned her body in a bleach-filled container. He names another victim, Sarah Bender, daughter of a prominent nightclub owner, and acknowledges others whose names he never learned. Bosch tapes the recorder to Dillon's chest and, after a momentary impulse to call George Bender, Sarah's father, to the warehouse, calls Valley Bureau detectives instead.
The next morning, Bosch identifies Elizabeth Clayton's body at the Medical Examiner's Office. She died of an apparent opioid overdose in a motel on Sunset Boulevard. Ballard waits outside and reports that detectives secured Dillon's warehouse in time, recovering fingerprints and DNA that could build a prosecutable case. Ballard confronts Bosch about his impulse to call Bender, recognizing that Bosch nearly arranged an extrajudicial killing. Bosch admits the mistake but says he corrected it.
Bosch proposes they continue working cases as a permanent partnership: Ballard inside the department and Bosch outside it. Ballard agrees on one condition: "We bend the rules. We don't break them." They shake hands and go their separate ways.