Douglas Quaid (Arnold Schwarzenegger) is a construction worker in the distant future. He is happily married to Lori (Sharon Stone), but is dissatisfied with his place in life.
One day he learns about Rekall, Inc., a facility that implants fake memories of ideal vacations. Against the advice of his co-worker Harry (Robert Costanzo), Doug visits Rekall and orders a special package that will let him "remember" an adventure he had on Mars as a secret agent. Before the procedure begins, he is asked to select a woman of his choice. He chooses a brunette, with an athletic body, and a sleazy and demure personality.
However, during the memory implantation procedure, he goes into a violent fit, ranting about his cover being blown and how men are coming to kill him. While it is initially suspected that Doug was acting out the secret agent part of the trip, that part of the trip had not been implanted yet, and the technicians realize that Doug's memory had been erased. Realizing who was responsible, they erase his memories of Rekall and send him home.
While walking through the subway, he is attacked by several men led by Harry, his co-worker. Doug attacks and manages to kill the men, but is horrified at the spectacle. He rushes back to Lori, but when he tells her what happened, she also attacks him. Doug subdues her and she tells him that he had his identity erased and a new one wrote in, which included her as his wife.
When he notices that several men with guns are arriving at their apartment building, Doug knocks her out and goes on the run, being chased by Richter, an agent of the mysterious Agency in the employ of Vilhos Cohaagen (Ronny Cox), corporate dictator of Mars. Richter is insanely jealous because he knows Quaid from Mars and also because Lori is Richter's wife.
Doug finds safe haven at a cheap hotel, but is contacted by a mysterious man who gives him a suitcase. Inside the case is a variety of spy gear as well as a video of himself. The video informs him that he was once Hauser, the right-hand man of Cohaagen. Hauser met Melina (Rachel Ticotin), an agent for rebels on Mars who convinced him to switch sides, but he was discovered, had his memory erased, and had a new one implanted. Hauser instructs Doug to get to Mars and set things right, boasting he has enough information that can destroy Cohaagen.
Doug narrowly gets to Mars, which is a domed colony. Many of the people on Mars are mutants with deformed features and psychic abilities caused by the mixture of radiation and shoddy air quality provided by Cohaagen. After a close encounter at the airport, Doug befriends Benny, a mutant taxi driver, and meets Melina (who strongly resembles the woman he requested at Rekall), who doesn't believe his story and orders him to leave at gunpoint.
Disconsolate, Doug gets a hotel room but is visited by Dr. Edgemar, who appeared in the Rekall ad he saw on Earth. Edgemar tells Doug that he is actually living out the memory implant procedure, only the technicians have lost control of him. Doug doesn't believe this, but Dr. Edgemar then has Lori enter the room. She pleads with Doug to listen to Dr. Edgemar and that she is very concerned for his health. Edgemar offers Doug a pill, supposedly a symbol of his desire to return to reality, saying that if he takes the pill, he will wake up safely at the memory implant facility. If Doug doesn't take the pill, he will end up lobotomized. Doug seriously considers the offer, but spots a drop of sweat moving down Dr. Edgemar's head. Doug shoots Edgemar, causing a team of men to breach the wall and capture Doug.
As they move Doug, Melina shows up with a sub-machine gun, and a battle ensues. Doug and Melina kill Lori and her men with her. They and Benny then escape to a rebel hideout as a vicious battle between rebels and the Martian army ensues. Doug is taken by the rebels to meet Kuato, the hidden leader of the rebellion. Kuato is supposedly psychic and not only can spot undercover Martian agents, but extract information from them. The hope is that Kuato can read Doug's mind and figure out important information in order to defeat Cohaagen and free Mars.
Doug meets George, a high ranking rebel officer. They go into a room to meet Kuato, but no one is there. George then opens his shirt and reveals a small head and arms, which is Kuato. Kuato reads Doug's mind and sees a vision of alien ruins underneath Mars that Cohaagen has kept secret. Just then, the rebel hideout is attacked by Martian forces. The rebels are slaughtered as Doug, Melina, Benny and George/Kuato flee. As the group prepares to escape, Benny shoots and kills George/Kuato, revealing himself as an enemy agent. Doug and Melina are captured and taken before Cohaagen.
Cohaagen smugly explains that this was all a trap. Hauser and Cohaagen devised the plan in order to trick Kuato, who could detect undercover agents. Doug doesn't believe this, but then Cohaagen plays another video of Hauser. Hauser, with Cohaagen at his side, congratulates Doug on helping to wipe out the rebels. Doug is furious. Cohaagen orders that the air supply to a large part of Mars that aided the rebels be completely cut off.
Doug and Melina are taken to a memory implant facility so that Hauser can be restored and Melina programmed to be subservient. Richter punches Doug in the face (after being told by a doctor that he will not remember anything) before leaving with Cohaagen. During the memory programming procedure, Doug escapes from his chair, frees Melina, and kills the guards. Doug and Melina head down to the alien ruins. Doug explains that Kuato helped him remember that the ruins are actually reactors that will make enough air for the entire planet, and would thus cause Cohaagen to lose control of Mars.
Doug and Melina get to the ruins. They are attacked by Benny, who is driving a gigantic mining machine. Doug gets a drill and impales Benny through the cockpit. Doug and Melina then advance to the reactor, where they are greeted by a platoon of Martian soldiers led by Richter. Doug utilizes a hologram device to confuse the soldiers while he and Melina gun them all down. Richter boards a freight elevator that ascends to the ruins' control panel. Doug jumps on and the two fight, ending with Richter having his arms ripped off and falling to his death.
Doug makes it to the reactor control area, where Cohaagen awaits. Cohaagen has rigged the facility to explode, and prepares to shoot Doug. However, he is saved by Melina. Cohaagen activates the bomb, but Quaid throws it away before it detonates. The explosion rips a hole in the wall, causing depressurization. As Doug and Melina hang on for dear life, Cohaagen is sucked into the atmosphere, where he dies. Doug manages to turn the reactor on just before he and Melina are sucked into the atmosphere as well, but they are saved as the reactor releases air throughout all of Mars.
The atmosphere washes over the planet. The people who were dying can now breathe again, and Doug is victorious. As Doug and Melina look at the new Martian sky, Doug wonders if he really is having a dream. Melina reponds, "Then kiss me quick before you wake up." He and Melina kiss as the screen fades to white.