Dennis Mahoney and his wife Kathy, daughter Courtney, and son Sean attend church. Afterward Dennis and Kathy meet with the reverend while the assistant Spencer takes their children to get doughnuts. They arrive home but Dennis has to leave to work overtime on Sunday. As he stops at an intersection, Kathy calls to ask him to pick up some groceries. Dennis takes the messages, pulls forward into the intersection... and a truck broadsides him.
Dennis regains consciousness at the hospital and sees his family on the other side of an observation window. He tries to get their attention but they can't see or hear him. A man, Richard Brautigan, appears and informs him that Dennis is dead and takes him to the emergency room. Time is frozen and on one table, Brautigan's body is bleeding to death. On the other table, Dennis is on the edge of death. Brautigan walks away and says he'll see Dennis in Hell.
Dennis regains consciousness and finds himself handcuffed to a bed. He asks for his family but Sheriff Walker arrives and says that the only family Dennis has is the one he slaughtered. Dennis looks into a mirror and sees that he's in Brautigan's body.
Dennis, in Brautigan's body, meets with his defense attorney John Amir. Amir tries to prepare for Brautigan's hearing but Dennis insists that he isn't the killer. Amir doesn't believe him and shows him a newspaper headline showing Brautigan as the "Family Man Killer." Dennis figures that since both he and Brautigan were in the ER on the verge of death on the same time, somehow their souls switched bodies. Amir is skeptical and leaves, while Dennis is taken back to Brautigan's cell by prison guard Toomey. Later, Dennis receives a visitor: Brautigan, in Dennis' body. Brautigan insists that this is his chance for redemption, and he wants Dennis to help him maintain the charade. In return he'll give Dennis advice on how to survive in prison.
At their next meeting, Amir tells Dennis that the police have found tapes Brautigan made of his killings and Dennis' only chance is to give a full confession and get a life sentence. Dennis is trapped, since he couldn't tell Weller where the bodies are even if he wanted to.
Brautigan tries to adapt to his new life with some initial sense. However, when Spencer takes "his" children for doughnuts, Brautigan snaps at him, warning that there are some people who are just waiting to steal children and kill them. Kathy is taken aback but Brautigan apologizes, saying he's been edgy since the accident.
Denis calls from prison, contacting his daughter Courtney. He has Courtney put Kathy on the line and tries to warn her, but Brautigan takes the call and tells Dennis to stop calling, and tells Kathy he'll have the phone number changed. Later, Toomey confronts Dennis in his cell and tells him that one of Brautigan's victims was his fiancée, that he couldn't be there to protect. Dennis tries to attack Toomey but the guard and another man easily subdue him and then beat him bloody.
Brautigan comes to meet with Dennis again and says that he has no choice, and he plans to protect his new family no matter what. When he starts to become angry at the boss in his new job, Dennis gives Brautigan advice to deal with the situation so he won't kill the man. Brautigan tells Dennis that he's going to Courtney's school play and will take video to show Dennis.
Toomey takes Dennis to see Sheriff Weller for a secret meeting. Weller says that the FBI are putting pressure on him as the local law enforcement officer, so Weller wants Dennis to confess in return for his life sentence. He gives Dennis a day to decide and leaves as Toomey beats Dennis again.
Brautigan insists on taking Sean to get a new baseball glove, although Kathy notes that they just bought the boy one. Brautigan insists on having the best for Sean but a driver takes his parking spot. Brautigan gets out to confront the man, who slugs him. That night, Kathy and the kids are having dinner when a bruised Brautigan comes in and snaps at them, with Sean yelling that he hates his father.
At Dennis' insistence, Amir has checked out the real Dennis' information and determined that it matches what Dennis has told him. However, Amir notes that "Dennis" has been visiting Dennis in jail and figures the two of them have been exchanging information for some reason. Amir warns that there's nothing he can do for Dennis if he doesn't cooperate.
In his cell that night, Dennis dreams of being in the audience at Courtney's school play as Brautigan records the performance. Courtney's hands starts to bleed as she sings about how mad her daddy is at her, and the blood covers her arms and face. Dennis wakes up and asks to meet with Weller, and he agrees to lead the sheriff to the bodies. Weller and Toomey take Dennis out into the countryside where he claims his victims are buried. When they arrive near Dennis' church, Dennis grabs Toomey's shotgun and knocks out the two men but refuses to kill them. He runs off but Weller shots him in the stomach. Dennis staggers through the snow and gets to his home, where Brautigan is waiting and says he's alone. Dennis attacks Brautigan and the two men struggle, stabbing each other repeatedly. Dennis finally gets the upper hand and despite his wounds manages to strangle Brautigan in Dennis' body. He staggers to his feet... and Weller arrives to shoot him down.
Dennis regains consciousness as the EMS technician revives him. He is back in his own body, with the dead Brautigan lying next to him. Dennis demands to see his children and despite the officers' warning, he runs upstairs to find that Brautigan brutally killed Kathy. He finds Weller holding the still-living Courtney. When the sheriff asks who killed Kathy, a shocked Courtney points at... Dennis.