Paul Matthews, a geek biochemist, and his three buddies, on a lark, visit a gypsy fortune teller, Madame Ruth (Ann Bancroft). She studies his palm and sadly tells Paul that she sees no women in his life, now and in the future. But she provides him with a solution, a small quantity of "Love Potion No. 8". He throws the potion into his trash where his cat finds it, licks it, and instantly attracts scores of neightborhood cats. Paul takes it to his lab where he and his co-worker, Diane Farrow (Sandra Bullock) a shy psychobiologist, analyze it. They give it, at full strength, to a female lab chimp, which causes a male chimp to break through the lab wall to get to her. Paul and Diane decide they must do human tests, and agree to take it themselves.

They discover that by inhaling a light spritz, followed by talking, they immediately attract the amorous desires of anyone within range of their voices. A rich Italian playboy falls madly in love with Diane, and Paul takes revenge on a beautiful woman who had previously made fun of him in a bar. He spends a night going from room to room in a college sorority house. The formerly plain Diane becomes a great beauty by getting her teeth fixed and a new hairstyle. Prince Geoffrey of England (Dylan Baker) proposes to her.

A trashy hooker, Marisa (Mary Mara), who had previously been sent to Paul's apartment as a gag by his friends, returns to steal his expensive stereo. Looking for drugs in his medicine cabinet, she finds the potion and takes that too. Diane drops the Prince, telling Paul she has fallen in love with Gary (Dale Midkiff), a cad who had previously only been interested in loveless one night stands with her. This makes Paul very unhappy as he realizes that he is in love with Diane. He learns that Gary had purchased all of Madame Ruth's supply of Love Potion No. 8, but the gypsy gives him an antidote, Love Potion No. 9. She instructs him that #8 created emotions, but #9 purified them, and if their love was true, taking the potion and kissing would result in a lifetime of love.

As Diane and Gary's marriage ceremony is about to begin, Marisa, having taken the potion, attracts Gary's interest and gets him to give her the entire bottle. She takes some at full strength, resulting her being chased through the streets by hundreds of men. Paul manages to cause Diane to drink some of #9, kisses her, and waits outside the church for the results. Six minutes later, she emerges, now truly in love with Paul.

The music score for Love Potion No. 9 was composed by Jed Lieber, son of Mike Lieber who, with Jerry Stoeller, composed a great many rock and roll classic songs, including "Love Potion No. 9" originally recorded by The Clovers, with popular cover versions by The Searchers, The Coasters, and others.