The story opens with detectives Kyle Bodine (Ed Harris) and Lamar Dickey (Benicio del Toro) investigating a murder scene. Bodine tutors Dickey in the ways of homicide investigations, stressing that all murderers make stupid mistakes, which is how they get caught.
At a local bar, Bodine hits on Rachel Munro (Madeleine Stowe) who blows him off. Rachel is married to wealthy banker Rupert Munro (Charles Dance). Back at home, she gets drunk as she looks at a private investigator's photos of Rupert making love to one of his employees, Adele. Rupert is intimidating and emotionally abusive towards Rachel, who decides to give in to Kyle's advances and start an affair with him.
At one point, the lovers row out on a lake at night. Kyle points out the large full moon and says that his grandmother called it a China Moon, because it looks like a giant china dish. His grandmother thought a China Moon made people do crazy things. Their affair quickly picks up steam, and Kyle urges Rachel to divorce Rupert.
Soon after, Kyle and Lamar are called to the Munro's on a domestic disturbance complaint. They find Rachel badly beaten. Kyle warns Rupert to leave her alone. Later that night, Rachel drives to Kyle's trailer and fantasizes about killing Rupert. She explains that she has bought a 9mm gun. She says that she could take a trip to Miami, drive back one night and kill him. Then she could return to her trip unseen, using it as an alibi. Kyle tries to talk her down, but she flees in a panic.
Rachel arrives at a hotel in Miami, and the concierge hands her an envelope which contains the picture of a rental car and its keys. Later, she leaves the hotel at night, without noticing Adele sitting in the lobby. She gets in the rental car and drives back to her home. Meanwhile, Adele enters her hotel room.
Instead of driving home, Rachel drives to Kyle's trailer, and he agrees to drive her home to get her things. He waits in the car as she packs a suitcase. Kyle does not see Rupert returning home, and when Rupert encounters Rachel in the act of leaving him, he flies into a rage. She gets her 9mm gun and shoots him twice in self-defense. She stops Kyle from calling the police because she points out that she drove back from Miami without checking out of her hotel, just like her murder fantasy. She knows she would look guilty, and Kyle agrees to help her cover her tracks. Using his skills as a homicide detective, he helps her carefully clear the crime scene, even removing the bullets from the wall, spackling over the holes and painting them. They dump Rupert's body in the same lake where they first made love. Back at the house, Kyle turns on the humidifiers to erase any of his fingerprints.
Rachel returns to the hotel in Miami and has brunch by the pool the next morning. When she returns home, she sticks to Kyle's plan and calls Rupert's bank. Rupert's secretary informs Rachel that he has not been in to work, and Rachel reports him missing to the police. Kyle and Lamar are assigned to the case. During their interviews with Rachel, Lamar is highly skeptical of her story, pointing out all its inconsistencies. As they shoot the breeze at Rachel's house, Lamar casually hypothesizes that Rachel killed Rupert with the help of one of her many boyfriends. He tells Kyle that Rachel is well known for wrapping men around her finger, and that, with the millions she would inherit from Rupert, it was highly likely that she got one of her boyfriends to help her kill Rupert and dispose of his body. Lamar starts to unnerve Kyle, who begins to doubt Rachel is telling him the truth.
Lamar gets a tip about a car being out at the lake on the night of the murder. The police divers find Rupert's body. During the autopsy, the coroner extracts a bullet from Rupert's chest. Lamar takes the bullet and hands it to Kyle, saying that it looks like a .38. The detectives confirm that it is a .38, which is the caliber of gun that Kyle carries. During his first date with Rachel, she had inquired about the caliber of his gun.
Back at the Munro house, Kyle discovers the photos of Rupert and Adele in Rachel's wardrobe. The crime scene technician discovers a bullet hole in the wall, and the extracted bullet is also a .38. Kyle is summoned to a meeting with his supervisor, who suspends him pending an investigation into his involvement with the case. He orders Kyle to surrender his pistol.
Later that day, Lamar arrives at Kyle's trailer and asks him to come in for some more questioning. The pistol he surrendered did not match the serial number on his service weapon. Sitting in the back seat of Lamar's car, Kyle fixates on a compass that sits on Lamar's dashboard. After a second, more forceful interrogation with his supervisor and Lamar, Kyle returns home and re-examines the pictures he discovered at Rachel's. He identifies Lamar's dashboard compass in the bottom of the frame of one of the pictures.
Adele meets with Lamar, and he pays her for her part in the scheme, after she shows him a ticket to prove that she is leaving town. He promises to pay her the rest of her share once he has received his cut. Kyle sneaks into Rachel's house and confronts her about the scheme. She confesses that Rupert was going to leave her with nothing, and that Lamar had concocted the scheme to make sure she inherited all of Rupert's fortune. She swears that, despite the fact that Lamar had designated Kyle as the fall guy, she had fallen in love with him.
Kyle orders her to set up a meeting with Lamar at the bar where they met. At the bar, Kyle confronts Lamar. He confirms that Lamar had switched out the 9mm bullet for a .38 during the coroner inquest. He asks Lamar where his service revolver is, and Lamar says it is in his car. Kyle forces Lamar out to his car at gunpoint to retrieve the .38. The bartender sees Kyle's gun at Lamar's back and calls the police. They arrive as Kyle is searching for his pistol underneath the driver's seat in Lamar's car. Lamar calls out to the police that Kyle has a gun, and they open fire, killing Kyle. A distraught Rachel runs over to Kyle as he lies dying. She picks up the .38 and kills Lamar.Ed Harris ... Kyle Bodine
Madeleine Stowe ... Rachel Munro
Charles Dance ... Rupert Munro
Benicio del Toro ... Lamar Dickey
Patricia Healy ... Adele
Tim Powell ... Fraker
Pruitt Taylor Vince ... Daryl Jeeters
The film was shot in DeLuxe color on location in Florida, using Panavision equipment, in the locations of Bartow, Lakeland and Tampa.
China Moon has a 40% approval rating on Rotten Tomatoes.
The following songs are used in the film:"Well, Well, Well, Baby-La"
"Tell Me What I Want to Hear"
"Rack 'Em Up"
"Remember Slow Fox?"