Ethan Learner (Joaquin Phoenix), his wife Grace (Jennifer Connelly), their 10-year old son Josh (Sean Curley), and younger daughter Emma (Elle Fanning) are going home after Josh's musical recital. On their way home, Ethan stops at a gas station on Reservation Road so Emma can use the restroom. What was a simple act turns into a tragedy. In a split second Josh is hit by an SUV and killed. Dwight Arno (Mark Ruffalo) is the driver of the SUV and for a split second he stops, because it was an accident, then he panics and drives away. The state police are called, and they begin to investigate the hit and run. As time goes by, both men are living in emotional turmoil and agony over this event.
Dwight is a divorced attorney and in constant disagreement with his ex-wife Ruth over their son Lucas. It was while he was bringing Lucas home that he struck Josh. Ruth had called several times because it was late, causing Dwight to speed. Lucas was not wearing his seat belt and hit his head against the dashboard when the impact came. When Ruth sees her son injured, she starts screaming at Dwight that she will have his visitation rights revoked. Lucas admits that he had taken his seat belt off to change the radio station.
Dwight wants to turn himself in but as an attorney, also knows he will be sent to prison. He hides his SUV with the damaged right side in his garage. The police have a general description of the vehicle and start checking. When an officer comes to his house, Dwight lies and says he no longer has the SUV because the transmission went out.
The Leaner family is barely surviving. When it is obvious that the police have no new leads and seem to lose interest, Ethan takes it on himself to find the driver. He joins an online support group for parents who have lost children to hit and run drivers. He also hires an attorney, which in a bizarre twist turns out to be Dwight.
Grace has trouble caring for her family, forgetting to pick up Emma at school and not going grocery shopping. At some point she cleans out Josh's room, calling a charity to pick up his toys. Ethan comes home while the toys are being taken away and is furious. Grace says it is time to move on but Ethan can't understand how she could feel that way.
Dwight knows that eventually he will either be caught or he will find the courage to turn himself in. He tries to spend more time with Lucas, knowing that after he is in prison he will never see his son. His nervousness does not go unnoticed at work and his boss chews him out for neglecting his clients, particularly Ethan Learner.
Ethan spots an SUV with a damaged right front and takes pictures of the vehicle. The car's owner calls the police, who arrest Ethan for trespassing. The owner provides proof of how his vehicle was damaged and Dwight arranges Ethan's bail.
At a school event, Emma plays the piano in honor of her brother. By another strange coincidence, Ruth is her piano teacher. Lucas has a part in a skit. As both families are leaving the auditorium, Ethan catches a glimpse of Dwight in profile, wearing the same baseball hat he was wearing when he hit Josh. Suddenly he knows Dwight is the one. The next day, he and Emma call on Ruth to thank her for being such a good piano teacher. After asking to use the bathroom, Ethan slips into Lucas's room. He finds a picture of Dwight and Lucas standing in front of the SUV, which has a distinctive grill. He steals the picture and buys a gun.
Dwight has made up his mind to turn himself in. He prepares a video for Lucas, apologizing for what happened and expressing his love. Ruth agrees to let Lucas spend part of spring break with his father. After Lucas goes to bed, Dwight answers a knock at the door. It is Ethan, holding up the picture and pointing a gun. Dwight begs him not to ruin his life by killing him, as he will go to prison. Just then Lucas gets up to use the bathroom. Ethan allows Dwight to put him back to bed and close the door. Then he forces Dwight to get into the trunk of his car. He drives them to a deserted lake and prepares to shoot Dwight. Dwight begs for his life, sobbing and repeatedly saying how sorry he is. After thinking it over, Ethan throws the gun down and leaves. Dwight tosses the gun into the lake.
The last scene is of Lucas watching the video.