In 2084, construction worker Douglas Quaid (Arnold Schwarzenegger) is having troubling dreams about Mars and a mysterious woman there. His wife Lori (Sharon Stone) dismisses the dreams and discourages him from thinking about Mars, where the governor, Vilos Cohaagen (Ronny Cox), is fighting rebels while searching for a rumored alien artifact located in the mines. At Rekall, a company that provides memory implants of vacations, Quaid opts for a memory trip to Mars as a Secret Agent fantasy. However, during the procedure, before the memory is implanted, something goes wrong, and Quaid starts revealing previously suppressed memories of actually being a Secret Agent. The company sedates him, wipes his memory of the visit, and sends him home. On the way home, Quaid is attacked by his friend Harry (Robert Costanzo) and some construction co-workers; he is forced to kill them, using elite fighting skills. He is then attacked in his apartment by Lori, who states that she was never his wife; their marriage was just a false memory implant, and Cohaagen sent her as an agent to monitor Quaid. He is then attacked and pursued by armed thugs led by Richter (Michael Ironside), Lori's real husband and Cohaagen's operative.
After evading his attackers, Quaid is given a suitcase containing money, gadgets, fake IDs, a disguise, and a video recording. The video is of Quaid himself, who identifies himself as "Hauser" and explains that he used to work for Cohaagen but learned about the artifact and underwent the memory wipe to protect himself. "Hauser" instructs Quaid to remove a tracking device located inside his skull before ordering him to go to Mars and check into the Hilton Hotel with a fake ID. Quaid makes his way to Mars and follows clues to Venusville, the colony's red-light district, primarily populated by people mutated as a result of poor radiation shielding. He meets Benny (Mel Johnson, Jr.), a taxi driver, and Melina (Rachel Ticotin), the woman from his dreams; but she spurns him, believing that Quaid is still working for Cohaagen.
Quaid later encounters Dr. Edgemar (Roy Brocksmith) and Lori, who claim Quaid has suffered a "schizoid embolism" and is trapped in a fantasy based on the implanted memories. Edgemar warns that Quaid is headed for lunacy (his description loosely predicting later events) and a lobotomy if he does not return to reality, then offers Quaid a pill that would waken him from the dream. Quaid puts the pill in his mouth, but after seeing Edgemar sweating in fear, he kills Edgemar and spits out the pill. Lori alerts Richter's forces, who burst into the room and capture Quaid, but Melina rescues him, with Quaid killing Lori in the process. The two race back to the Venusville bar and escape into the tunnels with Benny. Unable to locate Quaid, Cohaagen shuts down the ventilation to Venusville, slowly asphyxiating its citizens. Quaid, Melina, and Benny are taken to a resistance base; and Quaid is introduced to Kuato (Marshall Bell), a parasitic twin conjoined to his brother's stomach. Kuato reads Quaid's mind and tells him that the alien artifact is a turbinium reactor that will create a breathable atmosphere for Mars when activated, eliminating Cohaagen's abusive monopoly on breathable air. Cohaagen's forces burst in and kill most of the resistance, including Kuato, who instructs Quaid to start the reactor. Benny reveals that he is also working for Cohaagen, and that he alerted Cohaagen's forces.
Quaid and Melina are taken to Cohaagen, who explains that the Quaid persona was a ploy by Hauser to infiltrate the mutants and lead Cohaagen to Kuato, thereby wiping out the resistance. Cohaagen orders Hauser's memory to be re-implanted in Quaid and Melina programmed as Hauser's obedient wife, but Quaid and Melina escape into the mines where the reactor is located. They work their way to the control room of the reactor, and Benny attacks them in an excavation machine. Quaid kills Benny, then confronts Richter and his men, killing them too.
Quaid reaches the reactor control room, where Cohaagen is waiting with a bomb. During the ensuing struggle, Cohaagen triggers the bomb, but Quaid throws it away, blowing out one of the walls of the control room and causing an explosive decompression. While reaching for the reactor controls, Quaid knocks out Cohaagen, and he is sucked out onto the Martian surface, where he dies due to the lack of oxygen and pressure. Quaid manages to activate the reactor before he and Melina are also pulled out. The reactor releases air into the Martian atmosphere, saving Quaid, Melina and the rest of Mars' population. As humans walk onto the surface of the planet in its new atmosphere, Quaid momentarily pauses to wonder whether he is dreaming before turning to kiss Melina.

Question: Who was Benny?
Answer: A tax driver
Alternative answer: Benny was a taxi driver who also was secretly working for Cohaagen.