At a junior high school dance in 1988, Jeremy Melton, an outcast student, asks four popular girls to dance. Three girls, Shelley, Lily and Paige reject him cruelly, while the fourth girl, Kate, politely turns down his offer. Their overweight friend Dorothy accepts Jeremy’s invitation and they proceed to secretly make out underneath the bleachers. When a group of school bullies discover the pair, Dorothy claims that Jeremy sexually assaulted her, causing the boys to publicly strip and severely beat him up, and his nose drips blood. Later in the film, Paige reveals Jeremy was sent to a reform school as punishment for his alleged “assault”.
Years later, Shelley (Katherine Heigl), a medical student at UCLA, is at the morgue. After receiving a vulgar Valentine’s card and being pursued by a killer wearing a Cupid’s mask, Shelley’s throat is slit as she hides in a body bag. The killer’s nose is seen to bleed as he performs the act. Her friends are questioned at her funeral, but nothing is concluded. All the girls except Kate (Marley Shelton) and Paige (Denise Richards) receive cards in the same fashion as Shelley. Dorothy (Jessica Capshaw) who is now much thinner receives a card, which reads “Roses are red, Violets are blue, They’ll need dental records to identify you”. Her boyfriend, Campbell, loses his apartment and stays with her. Lily (Jessica Cauffiel) receives a box of chocolates and a card which says “You are what you eat”. She then takes a bite of one of the chocolates, and vomits upon realizing that there are maggots inside the chocolates.
As the girls attend Lily’s artist boyfriend Max’s exhibit, they meet Campbell’s bitter ex-girlfriend Ruthie who tells them off. Lily is isolated and confronted by the killer, who proceeds to shoot her repeatedly with arrows until she falls several floors into a dumpster. When they have not heard from Lily, the others assume she is out for LA on a work trip. Upon contacting the police, they agree that the culprit could be Jeremy Melton. Meanwhile, Kate’s neighbor breaks into Kate’s apartment to steal her underwear and is killed by the cupid killer with a hot iron pressed to his face and then bludgeoned with it. As Valentine’s Day approaches, Dorothy is planning a theme party at her house. Campbell is killed with an axe to the back the day of the party as he relights the hot furnace, after being revealed as a con-man who is using Dorothy to gain access to her vast inheritance. The others assume he has simply left Dorothy after duping her, angering Dorothy, who believes that they are jealous. After coming to the party to confront Dorothy with the truth about Campbell, Ruthie is thrown through a shower window by the killer who then impales her neck on the glass. At the party, Paige is attacked and trapped in a hot tub by the killer, who proceeds to try and kill her with a drill. After cutting her, he opens the lid of the hot tub and throws the electric drill into the water, electrocuting her.
The party disintegrates when the power cuts out, and Dorothy and Kate argue over who the killer is. Kate claims that Campbell could be a suspect because they do not know anything about him, while Dorothy counters by accusing Adam (David Boreanaz), Kate’s recovering alcoholic on-off boyfriend. After being told by Lily’s boyfriend that she did not arrive in Los Angeles as planned, Kate realizes she is also probably dead, and calls the detective assigned to the case. After dialing the number, she follows the sound of a ring tone outside the house and discovers the detective’s severed head in the pond. Kate then becomes convinced that Adam is actually Jeremy, disguised by reconstructive surgery, and goes back into the house, only to find Adam waiting for her. To her surprise, he asks her to dance, and they dance together for a while until she becomes frightened, kneeing him in the groin and escaping. She runs through the house, discovering Paige and Ruthie’s corpses. She locates a gun, but someone in the Cupid’s mask jumps out and runs into Kate resulting in knocking the gun from her hand and sending them both tumbling down a staircase. The supposed killer arises and is shot by Adam who appears at the top of the stairs using Kate’s gun, shocking and confusing Kate. As she apologizes profusely, Adam pulls off the Cupid’s mask to reveal the killer as Dorothy. Adam forgives Kate, explaining that childhood trauma can lead to lifelong anger and some people are eventually forced to act on that anger. As Kate and Adam wait for the police to arrive, they hug as Adam says he has always loved her. Moments later, as Kate closes her eyes as they wait for the police to arrive, his nose begins to bleed, indicating that he is Jeremy Melton after all.
Valentine has almost everything you want in a horror movie—a creepy killer, gorgeous actresses, all manner of killings, miscellaneous laughs, an actual plot of some complexity and nail-biting suspense.