While driving at night along the northern California coast, architect Dan Merrick (Tom Berenger) and wife Judith (Greta Scacchi) are involved in a car wreck. Dan suffers major injuries and brain trauma, resulting in psychogenic amnesia. After extensive plastic surgery, Dan returns home in Judith's care.
Dan relies on those close to him to help him restore his past, including his business partner Jeb Scott (Corbin Bernsen) and Jeb's wife, Jenny (Joanne Whalley-Kilmer). Dan has frequent flashbacks he believes to be events that led up to the car crash.
Dan finds discrepancies in the stories about his former self. He stumbles upon photographs of Judith sleeping with another man. Dan finds an expensive bill to a pet store and follows up with its proprietor, Gus Klein (Bob Hoskins). Gus says the payment was for services provided as a private investigator to follow Judith, and it revealed she was cheating with Jack Stanton (Scott Getlin).
Judith arranges a meeting with Stanton and Dan follows her. Judith stops at an old shipwreck slated for removal by Dan's company. Assuming the wreck is a key in remembering his past, Dan has its removal postponed.
Jeb's wife Jenny accuses Judith of planning the accident to eliminate Dan. As he works with Gus to keep tabs on his wife with a wiretap, Dan tails her to a hotel where she and Stanton are to meet, but Stanton leaves and a chase ensues through a wooded area. After gunshots are fired from Stanton's car, Dan and Gus crash while Stanton escapes.
That night at home, Dan arms himself and lies in wait. At gunpoint, an intruder is revealed as Judith disguised as Stanton. She explains that Stanton is actually dead, killed by Dan on the night of the accident. Judith had intended to stop the affair with Stanton. Judith says she and Dan covered up the murder by disposing of Stanton's body in the shipwreck. When Dan reveals he postponed the ship's removal, Judith becomes hysterical and suggests they should flee.
Dan receives a phone call from Jenny imploring him to see her, but when Dan arrives, he finds Jenny dead. He is confronted at gunpoint by Gus, who followed him, thinking Dan must have murdered Stanton. Pleading for his life, Dan convinces Gus to visit the shipwreck, where they find a chemical storage container. Dan dredges up a body of a man who looks exactly like himself. Dan realizes he is not Dan Merrick; he is Jack Stanton.
In a flashback, it is revealed that an abusive Dan confronted his wife Judith with evidence of her infidelity. She called for help and Jack raced to her home, arriving too late to prevent her from shooting her husband in the head. Jack wanted to go to the police, but Judith convinced him to cover up the murder and hide Dan's body. After doing so, Jack told Judith he wanted out of the relationship. This angered and distracted Judith, who drove into the car wreck.
Judith had banked on the chemical dissolving Dan's body, but because it was actually Formaldehyde, she had preserved it. Gus is shot by Judith, and falls into the water. Judith forces Jack to leave with her. She drives erratically down the same stretch of road from the night of the accident, confessing to the murder of Jenny, saying she had figured everything out and had to be killed.
She hid the facts from Jack so he'd have plausible deniability. After the crash, plastic surgeons assumed the man she was with was her husband Dan. Distracted by a police helicopter, Judith loses control of the gun, and Jack grabs it, demanding she stop the car. Judith decides to kill them in a murder-suicide car crash. Jack, at the last second, rolls out, while she plummets to her death.
The police helicopter lands, and an injured Gus Klein emerges. Gus survived his plunge into the water after being shot thanks to his asthma inhaler. The two board the helicopter, with Gus referring to Jack as Dan, presumably securing Merrick's fortune for him. The helicopter lifts off, flying over the burning car at the bottom of the cliff.Tom Berenger as Dan Merrick
Greta Scacchi as Judith Merrick
Bob Hoskins as Gus Klein
Joanne Whalley (Joanne Whalley-Kilmer) as Jenny Scott
Corbin Bernsen as Jeb Scott
Scott Getlin as Jack Stanton
Judi Maddison as Mary Wilson
Bert Rosario as Rudy Costa
Jedda Jones as Sadie
Scott Getlin as Jack Stanton
Kellye Nakahara as Lydia
Dierk Torsek as Dr. Benton
Theodore Bikel as Dr. Berkus
As of 2017, on Rotten Tomatoes, the movie has scored "31%" on its "Tomatometer" based on thirteen reviews. "56%" of Rotten Tomatoes audience members (5,346 users) have stated that they "liked it", giving the film a "3 1/5" average on the website.
The film's twist ending has caused a division among the responses given by critics. Several critics find the revelation too ridiculous to accept, while others find it inventive and clever. Roger Ebert falls into the former category, stating that the film's resolution is "inconceivably implausible," and that the "screenplay is too clever by half." However, he goes on to say that this quality "is always sort of fun." About.com falls into the latter category, calling the finale "a killer twist ending!" and The Washington Post says, "It would be disastrous to even hint at the movie's denouement; a critic could get lynched for giving away an ending as shockingly unexpected as the one here. Let's just say that it blows the top of your head off." Despite this division, critics generally hold the film's surprise denouement as unexpected and startling, though whether it is too clever for its own good is debatable and left up to the viewer.