At a formal dinner party in Cape Fear, North Carolina, outgoing 23-year-old Elvis Presley freak Sailor Ripley (Nicholas Cage) is accused by a stranger named Bob Ray Lemon (Gregg Dandridge) of assaulting Sailor's girlfriend's mother (Diane Ladd) and a knife is drawn on him. Sailor's 20-year-old girlfriend Lula (Laura Dern) warns Sailor just in time and he defends himself, brutally beating and smashing his assailant's head into the floor.
22 months later, despite orders from her domineering, evil-witch-monster of a mother that she should never see Sailor again, Lula goes to the Pee Dee Correctional Institution where she is reunited with her man after being paroled. Wearing his snakeskin jacket which symbolizes his individuality and belief in personal freedom, Sailor and Lula check into a motel, have mad passionate sex, then go dancing at a local nightclub where he serenades her Elvis style.
Lula's mother, Marietta Pace Fortune, who in fact is a real witch that cast a spell on Sailor's attacker that night to kill him after unsucessfully trying to seduce Sailor away from her daughter, is beside herself with rage. Marietta entreats private investigator and part-time boyfriend Johnnie Farragut (Harry Dean Stanton) to find Lula and bring her home. Marietta also enlists the assistance of Marcellos Santos (J.E. Freeman), another boyfriend and dubious associate, to kill Sailor to make sure that he never goes near Lula again. Santos price is that he gets to kill Farragut too. Santos' gangster boss Mr. Reindeer (William Morgan Sheppard) arranges the killings. But then Marietta has a crisis of conscience and sets out to warn Farragut.
Aware that Marietta has sent a hit squad after them, Sailor breaks parole by leaving North Carolina with Lula and they head for California. In New Orleans, Sailor and Lula check into another motel, have sex, go out dancing, and talk about their personal lives.
Marietta flies out to New Orleans to warn Farragut, but he takes no account of it. Farragut then is shortly after taken by hit men and killed in a bizarre voodoo ritual performed by Juana (Grace Zabriskie).
On the road late at night, Sailor and Lula witness a car accident where a blooded young woman (Sherilyn Fenn) dies after stumbling out the wrecked car. Lula says that its a bad omen of things to come.
Running short on money, Sailor and Lula stop in the small town of Big Tuna, Texas where they meet several grade-A weirdos who include the sinister Reggie (Calvin Lockhart), the dog-obsessed OO Spool (Jack Nance), cowboy Buddy (Pruitt Taylor Vince), nymphomaniac Mexican Perdita Durango (Isabella Rossellini), and the repugnant Bobby Peru (Willem Dafoe).
Lula reveals to Sailor that she is pregnant from all the sex they've been having for the past few weeks. Bobby figures this out after an unsuccessful attempt to seduce Lulu, and persuades Sailor to help him in an armed robbery to finance his family.
The next day, Sailor and Bobby, with Perdita as the getaway driver, break into a bank to rob it. But the bank heist is a farce. Bobby shoots the two teller clerks and turns on Sailor where he reveals that he and Perdita are the hit team sent by Santos and Mr. Reindeer to kill him. Sailor shoots Bobby, but his gun isnt loaded. Then a police car shows up and the cop starts firing wildly at the bank. In the ensuring chaos, Perdita fleas, Bobby is hit and instinctively shoots himself in the head, while Sailor gives himself up and is sent back to prison.
Five years and 10 months later, Sailor is once again released from prison. Lula and Sailor's young son, Pace (Glenn Walker Harris, Jr.), now living in Los Angeles, visit Sailor when he arrives at the train station. Their encounter is awkward and Sailor decides it would be best if Lula leaves him for good. Lula is crushed but understands. Afterward, Sailor is attacked and beaten up by gang members obviously sent by Marietta.
Passing out, a ghostly lady named Glinda the Good Witch of the North (Sheryl Lee) appears before Sailor and tells him that Lula really loves him and that he should not abandon his family. Sailor then returns to Lula and the family and is happily reunited. Sailor then serenades Lula with Elvis Presley's song 'Love Me Tender'.