College student Jeffrey Beaumont returns home to Lumberton, North Carolina, after his father suffers a near-fatal stroke. Walking home from the hospital, he cuts through a vacant lot and discovers a severed human ear. Jeffrey takes the ear to police detective John Williams and becomes reacquainted with his daughter, Sandy, who tells him that the ear somehow relates to a lounge singer named Dorothy Vallens. Intrigued, Jeffrey enters Dorothy’s apartment by posing as an exterminator and steals a spare key while she is distracted by a man in a distinctive yellow sport coat whom Jeffrey nicknames the “Yellow Man”.
Jeffrey and Sandy attend Dorothy’s nightclub act, in which she sings “Blue Velvet”, and leave early so Jeffrey can case her apartment. When Dorothy returns home, she finds him hiding in a closet and fellates him after forcing him to undress at knifepoint. Jeffrey retreats to the closet when their encounter is interrupted by the arrival of Frank Booth, who beats Dorothy and subjects her to fisting, dry humping, humiliation and sexual roleplay.
After learning that Frank has abducted Dorothy’s husband and child to force her into sex slavery, Jeffrey suspects Frank cut off her husband’s ear to warn her to stay alive for her family’s sake. Jeffrey relays the experience to Sandy — without revealing his sexual encounter with Dorothy — who urges him to tell her father what he knows about the case. Jeffrey refuses since he does not want to land Sandy or himself in trouble; he also fears what Frank, a gangster and raging psychopath, might do.
While he keeps seeing Sandy, Jeffrey also starts a sadomasochistic sexual relationship in which Dorothy encourages him to beat her. Jeffrey sees Frank attending Dorothy’s show and later observes him drug dealing and meeting with the Yellow Man.
When Frank catches Jeffrey leaving Dorothy’s apartment, he abducts them and brings them to the lair of Ben, a criminal associate who is holding Dorothy’s husband and son hostage. Frank permits Dorothy to see her family and forces Jeffrey to watch Ben perform an impromtu lip-sync of Roy Orbison’s “In Dreams”, which causes Frank to suffer a breakdown. Afterwards he takes Jeffrey to a field, where he violently kisses him before beating him unconscious. Jeffrey awakes the next morning bruised and bloodied.
Jeffrey visits the police station and realizes that Sandy’s father’s partner is the Yellow Man, who has been murdering Frank’s rival drug dealers and stealing confiscated narcotics from the evidence room for Frank to sell. After Jeffrey and Sandy attend a party, they are pursued by a car which they assume belongs to Frank. As they arrive at Jeffrey’s home, Sandy realizes the car belongs to her boyfriend Mike. After Mike threatens to beat Jeffrey for stealing his girlfriend, Dorothy appears on Jeffrey’s porch naked, beaten and confused. Mike backs down as Jeffrey and Sandy whisk Dorothy to Sandy’s house to summon medical attention.
When Dorothy calls Jeffrey “my secret lover”, Sandy is distraught and slaps him for deceiving her. Jeffrey asks Sandy to tell her father everything and returns alone to Dorothy’s apartment, where he discovers her husband dead and the Yellow Man mortally wounded. Remembering that Frank has a police radio in his car, Jeffrey uses the Yellow Man’s walkie-talkie to lie about his precise location in the apartment. When Frank arrives, Jeffrey ambushes and shoots him dead with the Yellow Man’s gun.
Sandy’s father leads a police raid on Frank’s headquarters, killing his men and crippling his criminal empire. Jeffrey and Sandy continue their relationship and Dorothy is reunited with her son.