Dwight Arno (Mark Ruffalo), is an attorney who is divorced from his wife Ruth (Mira Sorvino). Ruth maintains custody of their son Lucas (Eddie Alderson), while Dwight has visitation rights. Dwight and Lucas are at a baseball game when Ruth calls, informing Dwight that he is late returning the child home. Dwight drives Lucas home in a hurry, thinking he might lose his visitation privileges. When he loses control of his vehicle, he accidentally hits a young boy, Josh Learner (Sean Curley), who is standing by the roadside. Aware that he has hit the boy, Dwight continues driving on. To Lucas, who has a minor injury, Dwight lies that they had collided with a tree log. Dwight later hears on a newscast that the boy died. Subsequently, he tries to cover up the evidence which implicates him in the hit-and-run accident.
After the initial shock of losing Josh, Grace (Jennifer Connelly) gradually tries to get on with life, but her husband Ethan (Joaquin Phoenix), is obsessed with finding out who killed their son and frustrated with the lack of progress the police are making in their investigation. Ethan eventually decides to hire a lawyer, who oddly enough turns out to be Dwight. Uncomfortably, Dwight encounters Ethan also in his leisure time; when he comes to Ruth's house to pick up Lucas for the weekend, Ethan is there to get his daughter Emma (Elle Fanning), who is taking piano lessons from Ruth.
Ethan later discovers that Dwight is the perpetrator. In revenge, and fearing that Dwight would be sentenced to only a short time in prison, he buys a gun and travels to Dwight's house to kill him. Ethan points the gun at Dwight, who eager to avoid danger to Lucas, begs Ethan that they at least go outside. With Dwight in the trunk of his car, Ethan drives him to a remote location where he plans to murder him. Because of Ethan's emotional state and resulting hesitation, Dwight manages to grab the gun from Ethan and points it at him, but later points it at himself instead. Ethan, seeing that Dwight feels sorrow in regards to the accident, finally finds peace and leaves him there. The film ends with Lucas alone, watching a taped confession about the incident that Dwight had just made to the authorities.