Business tycoon and billionaire Damian Hale (Ben Kingsley) is master of his own universe, until he is diagnosed with terminal cancer. Now on his deathbed, he finds a business card directing him to a man named Professor Albright (Matthew Goode), who informs him about a radical medical procedure called “shedding,” in which one’s consciousness is transferred to an artificially grown healthy body. Damian decides to undergo the procedure and engineers his own public death. Albright transfers him into a new body (Ryan Reynolds) and prescribes medication to alleviate the vivid hallucinations which he claims are side effects of the procedure.
After a period of adaptation exercises, Damian starts a new life in New Orleans under the assumed name of Edward Kidner and quickly befriends his neighbor Anton (Derek Luke). However, when he forgets to take his medicine, he subsequently suffers hallucinations of a woman and child. When Damian asks Albright about the hallucinations, Albright dismisses his concerns, but accidentally reveals that he knows details of the hallucinations that Edward did not tell him. Albright arranges for Damian to move to Hawaii for a change of scenery, but Damian, convinced the hallucinations are some kind of memory, researches a landmark he saw in his vision and heads to St. Louis instead.
At a farmhouse outside of St. Louis, he finds the woman, Madeline (Natalie Martinez), who identifies him as her apparently deceased husband, Mark. Damian learns, much to his horror, that the body he is inhabiting belonged to another man who sold himself to Albright in order to gain the money he needed to pay for their daughter Anna’s life-saving medical treatment. Shortly after arriving at the house Damian and Madeline are attacked by Albright’s men, led by Anton, who reveals that he is one of Albright’s employees. In a bid to escape, Damian severely wounds Anton, and kills his accomplices. Damian and Madeline leave the farm and collect Anna from school, where she, in her childhood innocence, warmly greets her father, knowing he would return. They flee.
At a motel stop overnight, discovering he has no more of the medicine he needs, Damian uses a laptop computer to research “shedding” and discovers an ill, elderly Dr. Francis Jensen (Thomas Francis Murphy), now deceased, was the pioneer researcher in the field of “transhumanism”. In a video interview of Jensen, Damian notices a tic he shares with Albright. When he then sees a young Albright sitting next to Jensen in the same video, Damian concludes Albright was Jensen’s assistant, and Jensen has shed himself into Albright’s body.
Damian finds Dr. Jensen’s wife, Phyllis, in a nursing New Orleans and tries to get her to reveal where her husband’s research is, but she does not know due to suffering from Alzheimer’s. Damian then lures Albright to the facility and confronts him. Jensen/Albright explains his motivations, but Damian rejects them. Albright reveals that the pills will eventually eliminate the hallucinations and the “Mark” personality of the body Damian is inhabiting, but if he quits taking the pills, “Mark” will reassert control over his body and Damian will ‘fade into oblivion’.
As they leave to go to the medical lab, more assassins show up. Albright escapes, while Damian struggles with another man who he recognizes as Anton, in a new body, due to the necklace that he is wearing. Damian is almost overpowered, but Madeline saves him when she intervenes and wounds Anton. Anton then reveals to Damian that he has “shed” multiple times, and the process is easier the more often it is done. While Damian confiscates Anton’s pills from him, Anton taunts Madeline to ask her ‘husband’ why he can’t answer personal questions about their life. Damian, Madeline, and Anna then escape again.
After they are safely away, Madeline confronts Damian over his behavior and lack of knowledge of their personal details, and demands he reveal what is going on. He reveals to her all that has transpired. He takes her and Anna to his old friend Martin (Victor Garber) and convinces him to provide for Madeline and Anna to flee to the Caribbean. However, he and Madeline discover Anna playing with Martin’s young son Tony (Dylan Lowe), who died two years ago; Martin admits that he used “shedding” to save his son and that Albright’s men are waiting for them. Damian then reveals the dark secret behind shedding to Martin, who believed that the bodies were artificially grown in a lab and is shocked to find out that his son’s new body is really someone else’s son. Damian flees to distract Albright’s men while Martin, Madeline, and Anna escape. Damian manages to crash Anton’s car with him in it and defeat his pursuers, but Madeline and Anna are recaptured.
Damian stops taking his medicine in order to experience more of Mark’s memories, hoping they will lead him to Albright. This succeeds, and Damian pursues Albright to a lab built in an abandoned warehouse. There, Albright captures him and attempts to “shed” Anton into Mark’s body, but Damian, remembering that metal interferes with the “shedding” process, takes a bullet casing in his mouth, therefore sabotaging the procedure and killing Anton in the process. He rescues Madeline and Anna and kills Albright with a flamethrower. Damian arranges for Madeline and Anna to flee the country as planned, meets his own estranged daughter Claire (Michelle Dockery), and delivers her a letter reconciling with her. He then heads to the Caribbean and stops taking his medicine, ‘dying’ peacefully. The real Mark reawakens in his own body and discovers a video message from Damian’s personality thanking him for the time he gave him. Mark then reunites with his family at last.