Comic book store clerk and film buff Clarence Worley (Christian Slater) watches a Sonny Chiba triple feature at a Detroit movie theater for his birthday. Here he meets Alabama Whitman (Patricia Arquette), an attractive young woman. After having sex, she tearfully confesses that she is a call girl hired by Clarence's boss as a birthday present. She has fallen in love with Clarence and he with her.
The next day, they marry. Alabama's volatile pimp, Drexl Spivey (Gary Oldman), makes Clarence uneasy. An apparition of his idol, Elvis Presley (Val Kilmer), tells him that killing Drexl will make the world a better place. Clarence stands up to the intimidating Drexl and tells him to leave Alabama alone. Drexl assaults and subdues Clarence and takes his wallet. Clarence draws a gun and kills Drexl and a henchman. He grabs a bag that he assumes belongs to Alabama. When he tells Alabama he killed Drexl, she sobs and finds this "so romantic."
Opening the suitcase, the two find it is full of stolen cocaine. Clarence and Alabama decide to leave for California immediately. First they pay a visit to Clarence's father, Clifford Worley (Dennis Hopper), a security guard and ex-cop. Clarence wants to find out if he is in the clear regarding Drexl's murder. Clifford tells him that the police assume it to be a drug-related killing.
In Los Angeles, the young couple plans to meet Clarence's old friend Dick Ritchie (Michael Rapaport), an aspiring actor. Clifford is ambushed in his home by gangster Vincenzo Coccotti (Christopher Walken) and his men, who tracked him by using Clarence's wallet. They want the drugs taken from Drexl, their underling. Clifford refuses to reveal where his son has gone. Accepting that he is going to die anyway, he insults Coccotti , who angrily shoots Clifford dead before finding a note on the fridge giving Clarence's whereabouts in L.A.
Clarence plans to use Dick's contacts with an actor named Elliot (Bronson Pinchot) to sell the drugs to a film producer, Lee Donowitz (Saul Rubinek). Elliot, who has some of Clarence's cocaine is stopped while speeding and is arrested for drug possession. Believing Clarence's story of getting the drugs from a dirty cop, he informs on Donowitz's drug deal to escape prison time.
Alabama is found alone in their hotel room and interrogated by one of Coccotti's henchmen, Virgil (James Gandolfini), who viciously beats her. Alabama fights back and miraculously manages to kill him. She and Clarence talk of moving to Cancún with the money from the drug deal.
Knowing that Elliot's cocaine was uncut, and with Elliot "confessing" in order to avoid prison, L.A. detectives Nicholson (Tom Sizemore) and Dimes (Chris Penn) conclude that a sizable drug deal is about to go down. Promising him that he can avoid prison in return for cooperation, the two detectives have Elliot wear a wire to the deal. Coccotti's men learn where the deal is going down from Dick's drugged-out roommate Floyd (Brad Pitt) and they all converge on Lee Donowitz's hotel.
As a fan of his film work, Clarence makes a good impression on Lee. They are then ambushed by both the cops and gangsters who, coincidentally, break in almost at the same time. In the middle of a Mexican standoff, Lee realizes that Elliot is an informant and berates him, throwing a hot pot of coffee on him, causing a massive shootout. Dick abandons the drugs and flees. Clarence is shot in the eye when he exits the bathroom, devastating Alabama. While Dimes kills one of Donowitz's men, one of Coccotti's men then shoots and kills Dimes ending the battle. Lee, Elliot, the police, gangsters and bodyguards are all killed.
Clarence, however, survives, partially blinded. He and Alabama escape as more police swarm the hotel. They are shown as a happy family on a beach in Cancún, with a son they have named Elvis.