Mark Sway (Brad Renfro), his mother (Mary-Louise Parker), and his younger brother (David Speck) live in a small trailer in Memphis, Tennessee. Mark, a young, street-smart kid, distracts his mother and steals two cigarettes from her purse while she rushes to get ready for her blue-collar job. After she leaves, Mark and Ricky play in the woods and Mark teaches Ricky to smoke. When they hear a car coming, they panic. They throw the cigarettes down and hide behind some bushes.
A big man gets out of the car, runs a hose from the tailpipe into the window, and gets back in the car. Mark figures out he's trying to kill himself, tells his terrified brother to stay put. Mark pulls the hose from the tailpipe. When the man realizes that something is wrong, he gets out and replaces the hose in the tailpipe. Mark tries to remove it again but the drunk man catches him, hits him and throws him in his car.
The man tells Mark that since he's so nosy, they should die together. The man says he is Jerome Clifford, Attorney at Law. But he says that since they're both pretty tight to just call him "Romy." As he's talking, Mark notices a gun lying between them. Mark asks Jerome why hes trying to kill himself. He responds that if he doesn't kill himself, his client Barry 'The Blade' Muldano will because Jerome knows where the body of Boyd Boyett, a man The Blade killed, is buried. He tells Mark where it is, but we can't hear what he says. He says the body is still there and no one will ever find it. Mark suddenly picks up the gun and points it at Jerome. Jerome encourages Mark to pull the trigger, but Jerome can't do it. Jerome takes the gun away and says "let's see if it works." He shoots the gun near Mark's head and Mark escapes from the car. He takes Ricky and runs as Jerome chases after them, yelling, "If The Blade finds out what you know, he's going to kill you anyway." He stops, puts the gun in his mouth, and pulls the trigger. Ricky sees the entire act and is severely traumatized. Mark takes Ricky home and returns to the scene.
Mark watches from hiding while the police remove Jerome's body away but they discover him. Sergeant Hardy (Will Patton) brings Mark home where his mother is trying to get Ricky to respond, but Ricky won't talk. She asks Mark what happened. Mark says he and Ricky discovered Jerome dead with the gun in his mouth and that Ricky hasn't talked since. Sergeant Hardy returns and takes Mark to the hospital, asking him questions on the way. He asks Mark if he is telling the truth, and then asks him if the name Jerome Clifford means anything to him. Mark says no. The officer says that he found two cigarettes near the scene, the same brand his mother smokes. Mark tells the officer that he was walking through the woods when he found Romy dead. Hardy asks who Romy is. He says the only name he used was Jerome Clifford.
We then see a Reverend Roy Foltrigg (Tommy Lee Jones) watching the story on the news. Roy also happens to be the D.A. in the case for Senator Boyd Boyett's murder and is running for governor. Without Boyd Boyett's body and Jerome dead, Mr. Foltrigg has no case. Back at the hospital, Sergeant Hardy gives Mark a Sprite. He says he thinks Mark is lying and that Mark was in Jerome's car. He even teases him for being so poor and tries to scare him by saying if he doesn't tell the truth, Ricky could end up in a dumpy institution with snakes and bugs. A nurse interrupts and takes Mark to Ricky's room. The doctor says Ricky has post traumatic stress disorder and is in a coma. As he continues to talk, Mark sees Sergeant Hardy putting Marks Sprite can in a plastic bag. Mark runs after him, but the officer is already in the elevator, smirking. Mark wanders into a waiting room, where he finds a flier for a law firm on the ground.
Back with Roy Foltrigg, his people are telling him Marks story and they don't believe it because they found Marks fingerprints all over the car. Roy deduces that Jerome must have told Mark where the body is and that's why he's lying. He demands to speak with Mark right away. Mark goes to the law firm in his flier and finds lawyer Regina "Reggie" Love (Susan Sarandon). Hes reluctant to have her represent him before he has to talk with the FBI and Mr. Foltrigg because shes a woman, but shes interested in his case because she has a grudge against Roy. He says he doesn't know why hes being harassed just because he saw some sweaty, fat guy commit suicide. Reggie asks why he lied to the police and told them he just found Jerome. He says he didn't lie and Reggie tells him that dead men don't sweat. He admits that he did see Jerome alive before he killed himself, but doesn't tell her he talked to him. Reggie agrees to take his case and Mark pays her a dollar.
Meanwhile in New Orleans, The Blade is getting scolded by his boss, Uncle Johnny for telling Jerome too much and says the kids might know too much now as well. So he tells The Blade to move the body just in case. Not able to trust Barry, Uncle Johnny sends another hit man, Rocky, to "take care of" the kids. Back with Mark, Roy and his people are interrogating Mark. He asks if he needs a lawyer before talking to him and they tell him no. He gives them the run around until Roy flat out asks him about the body, and to that Mark demands to go the the bathroom. Eventually, Reggie returns, accusing them of unlawful interrogation, which they deny, but Reggie plays a tape of their conversation, catching them all in a lie. Roy insists that he has proof Mark is lying and was in the car with Jerome, but Reggie accuses him of hypocrisy.
When Reggie leaves, she begins speaking with Marks mother, who begins telling Reggie about her dreams and how all she ever wanted was a white house and walk-in closet. Later, Reggie is trying to get the truth out of Mark. But Mark insists he was not in Jerome's car. Reggie eventually leaves Mark in the waiting room, where a man hired by Rocky to get close to Mark gives Mark candy and begins to talk with him, prying for information. Mark notices something isn't right and leaves. Late that night, Mark goes to get something to eat, but is held at knife point by Rocky in the elevator. Rocky threatens Mark not to talk to the FBI or hell be killed. The next day, Mark goes to Reggie and refuses to talk to the FBI. Before Reggie can say much shes notified that Roy and the FBI are on their way. Mark hides while Reggie talks to them. They have proof that Marks story is not true. This flusters Reggie but she manages to stay calm by pointing out that they illegally obtained evidence and shell expose Mr. Foltrigg if they go near Mark again. His illegal actions wouldn't look good for a man running for governor of Louisiana. Mr. Foltrigg reveals that Reggie was once in rehab; this shocks Mark. Reggie manages to get rid of them and, infuriated, confronts Mark about his lies. Mark accuses her of being the liar, fires her, and storms out. She follows him and he jumps in her car upon seeing the media circus outside of the hospital.
Reggie goes to her house, but Mark demands to be taken back the hospital. Reggie refuses to take him anywhere until he tells her the truth. He declines and tries, in vain, to hitchhike. A car drives up, but Mark sees that its the man he didnt feel right about in the waiting room. Afraid, he runs to Reggie's house. Hes angry at first, but Reggie gets him to talk to her. Mark reveals that his father used to get drunk and beat him and his mother which is why he was so mad when he found out about Reggie's past. Reggie begins talking about her children and ex-husband until Mark feels comfortable enough to tell her the whole truth, including Rocky's threat. Reggie, alarmed, begins to call to get Mark someplace safe. Outside, Rocky and two other hit men talk about going in, killing Reggie and kidnapping Mark. One of them has an idea and they burn Marks trailer as a warning instead. Marks mother hears the news at the hospital and, having lost her job as well, is devastated. She yells at Reggie and tells her Mark already has a mother and kicks her out of the room. After Reggie leaves the police come to take Mark into custody until he talks to the FBI. In custody, Mark asks for a phone to call his mother, and prank orders pizzas to the police department. Meanwhile Reggie is trying to get Mark out. She talks to a friend of hers about getting Mark to talk only if he and his family can get into the Witness Protection Program afterwards. Shes frustrated when they cant guarantee it to her, but gets Mark out to talk anyway. Mark says whatever he does he could get killed anyway and she cant let them ask any questions. She cant promise him anything but says he cant lie if they do get him on the stand.
In court, Roy and the FBI brow beat Mark to talk but Reggie diverts them any way she can. Eventually they get Mark on the stand and struggle to get information, but he eventually pleads the fifth and decides he'd rather go back to jail until everything is sorted out than risk he and his family's life. Meanwhile The Blade is meeting with Uncle Johnny and they decide Mark has gotten too close to talking and he must be killed. Back at the jail, Mark is found on the ground, barely conscious, soaked in sweat, and heart beating extremely rapidly. They rush him to the hospital where he escapes from his gurney, only to find that Rocky has followed him there. A chase between Mark and Rocky ensues, but Mark manages to get away. He calls Reggie's home and tells her he faked a post traumatic stress attack in order to escape from jail. Reggie says shes coming to pick him up.
Reggie manages to sneak Mark in her car and Mark says hes thinking about Witness Protection now. But Jerome was drunk so the body may not be where he said. Reggie says they have to know where the body is before Mark gets any protection. Mark convinces Reggie they have to go to New Orleans and make sure the body is where Romy said it was, under Romy's own boat in Romy's boat house. Reggie is very reluctant, but agrees. Meanwhile, The Blade is asking Uncle Johnny once again for permission to move the body now that Mark has escaped. Uncle Johnny agrees but says this is The Blades last chance. Reggie calls her brother from a hotel in New Orleans to tell him what shes up to, unaware that Mr. Foltrigg is tracking her call. They go after her.
Later, Reggie and Mark find Romy's boat house which is located next to some rather paranoid and security-ridden neighbors. Mark manages to crawl through a high window into the boat house, leaving Reggie behind at the bottom. Little do they know that The Blade and Rocky have arrived at the same place. The hit men make their way into the boat house, while Mark hurriedly hides in Romy's covered boat. To get the body, the men raise the boat up. Reggie, scared for Mark climbs quietly to the open window to see if hes okay. Mark looks down from under the cover while the men uncover the body. Reggie gets Marks attention and begs him to sneak back out through the window. After a while, he sees the body and finally tries to climb up to the window where Reggie pulls him through. They make a noise, which The Blade hears, and when he looks up he sees Reggie and Mark looking trying to escape. They run and The Blade goes after them. He eventually catches Reggie and his gun goes flying in the struggle. Reggie tells Mark to run, but Mark picks up the gun and tells The Blade to let Reggie go. He holds The Blade at gunpoint, seriously considering shooting him, but Reggie convinces Mark to hand the gun over to her. The Blade teases Reggie saying she doesn't have the guts and should have let Mark shoot. Reggie scoffs and instead shoots a security box on the neighbors house, setting off alarms. The neighbors come out making a fuss, and Mark and Reggie get away while the neighbors shoot at The Blade and the other hit men. The hit men shoot back at the neighbors, who retreat. And the hit men leave before the police can arrive. Mark goes back to the boat house to find the garbage bag that's supposed to contain Boyd Boyett's body. He opens it to see if hes in there, and is assaulted with the sight of maggots, an awful smell, and the body.
The next day, Reggie meets with Roy in a New Orleans diner. Roy is anxious to find out the whereabouts of the body, but Reggie will only tell him if he meets the conditions she wants of Mark and his family's Witness Protection Program first. She tells him she wants Marks mother to have some starting out money to have a nice little house. White, with a walk-in closet.
Back with the hit men, Uncle Johnny makes it clear that the Blade is to be killed for screwing up his last chance so royally. Finally, back with the Sways, Ricky is airlifted to another hospital in a different location while Mark decides he wants them to be relocated to Phoenix. His mother agrees. She signs the papers and they start to get on the plane, until Mark sees Reggie again. He asks if she can come with them, but she says when entering Witness Protection he has to sever all ties with anyone back home. Mark will never see Reggie again. He gives her a hug and tells her he loves her, and she tells him the same. But before Mark gets on the plane, he turns to Reggie, smiles and says, "I'll call you." Reggie can do nothing but laugh.
Immediately after the Sways take off, the FBI surround Reggie and she exasperatedly tells them where the body is. Roy, smiling, reminds Reggie that she should have included immunity from her illegal actions, but Reggie produces the tape of HIS illegal actions. They both silently agree to keep quiet. After Roy leaves, Reggie sees Marks plane disappearing as he and his family leave Louisiana forever, safely.