HEART EYES Spoiler Review

Lorinda Donovan

Updated on:

The Heart Eyes killer (Alex Mccoll) shows off the infrared light in Heart Eyes

Major spoilers ahead for Heart Eyes. You’ve been warned. 

* 

* 

Horror and comedy have been a favorite movie mash-up for decades. Some flicks, like the Scream (1996) franchise and Evil Dead (1981) series, have turned horror-comedy into a well-oiled machine that keeps on going to this day. It’s a tricky thing to pull off, and if it doesn’t work, it can be a real disaster. But that doesn’t stop Hollywood from continuing to churn them out, and the latest, Heart Eyes, hopes to capitalize on the Hallmark holiday for a new set of laughs and scares in equal measure. Does it work? Read on to find out. 

RELATED: Wolf Man Spoiler Review

Heart Eyes 

Heart Eyes begins with a couple of Insta-ready lovebirds, Patrick (Alex Walker) and Adeline (Lauren O’Hara), at a Seattle winery. Patrick gets down on one knee in front of a huge display of hearts and flowers as some cheeseball, stadium-country ballad blasts away. He proposes and a blissful Adeline accepts, but then the moment’s rudely interrupted by a phone call. A photographer (Latham Gaines) Patrick’s hired to film them from some distance away didn’t catch the moment. They have to do it again. But right after that, the photog gets speared in the eye, right through the lens of his camera. Yikes. 

Ally (Olivia Holt) and Jay (Mason Gooding) meet outside a restaurant in Heart Eyes
Olivia Holt, Mason Gooding in Heart Eyes

Patrick and Adeline go through the proposal again, but poor Patrick gets an arrow (like Cupid, get it?) through the head. Adeline screams and runs through the vineyard to a warehouse and jumps into a little chamber. She locks the door to keep the killer at bay, someone wearing a mask with – you guessed it – heart eyes. But unfortunately for Adeline, she’s unknowingly trapped herself in a grape press. So all Heart Eyes has to do is push the button, and after a few tense seconds, Adeline becomes a pile of bloody goop. Yuck.

News spreads around Seattle about the murders, which, as it turns out, is just the latest in a string of killings linked to Heart Eyes, who’s been killing in different cities over the past couple of years. But all of the murders occurred around Valentine’s Day, and all the victims were couples. Next, we meet Ally (Marvel’s Cloak & Dagger’s (2018) Olivia Holt), who’s getting coffee with her bestie Monica (Gigi Zumbado). Ally’s obsessing over her ex-boyfriend Collin’s (Ben Black) Insta feed, full of photos of him with his new girlfriend, Sienna (Karishma Grebneff). Monica does her best to comfort Ally, but apparently the breakup was pretty recent, and Ally’s clearly hurting.

RELATED: Nosferatu Spoiler Review

When the barista calls out a ridiculously complicated order, Ally goes to get it only to find a handsome guy named Jay (Scream VI’s (2023) Mason Gooding) who’s ordered the same exact thing. They have an awkwardly cute chat about straws, and Ally shows off the metal one she always carries. They end up literally butting heads – twice – hard enough to give Jay a bloody nose. Mortified, Ally runs off to work. 

At the office, Ally’s boss, cheesy Southern-drawl-drenched beauty maven Crystal Cane (Michaela Watkins) holds a come-to-Jesus meeting with the staff. Their latest ad campaign featuring famously doomed lovers like Romeo and Juliet, Bonnie and Clyde and Jack and Rose has bombed spectacularly. Especially given the timing with the winery murders, they’re getting roasted online for its bitter tone and poor taste.

RELATED: Movie Review: Heart Eyes

And who’s responsible for the campaign? None other than Ally. So Crystal’s hired a fixer – none other than Jay. Like we didn’t see that coming. With his smooth talk and easygoing attitude, he calms Crystal down and keeps Ally from losing her job. He asks Ally to dinner to discuss the new campaign, and she reluctantly agrees. Monica insists on taking Ally shopping for a killer outfit. She tries to get Ally to wear something overly dressy and sexy, but Ally decides on a smarter, professional-but-cute ensemble.

Det. Shaw (Jordana Brewster), and Det. Hobbs (Devon Sawa) question Jay (Mason Gooding) in Heart Eyes
Jordana Brewster, Devon Sawa, Mason Gooding in Heart Eyes

Meanwhile, the detectives investigating the winery murders, Jeanine Shaw (Fast and the Furious franchise’s Jordana Brewster) and Zeke Hobbs (Final Destination’s (2000) Devon Sawa) are knee-deep in the bloody crime scene. Yeah, Hobbs and Shaw – there’s a joke about it. They find a wedding band with the initials “JS,” and determine that the targeting of couples on Valentine’s Day is either a way for the killer to punish people after his own tragedy – or some demented kink. Then they find out that two more people have been killed at a local spa. 

Later, Ally arrives at the restaurant, but Jay’s late. When he finally gets there, Ally’s blown away by how handsome he is as he strolls in. She tries to keep the conversation focused on the job, but Jay insists on having champagne and talking about love. Ally gets annoyed and gives Jay a verbal beatdown fueled by bitterness over her breakup – harsh enough to make Jay leave, saying he has to catch a plane in the morning. 

RELATED: Movie Review: Love Hurts

Ally immediately feels terrible and chases after him. Then she spots her ex, Collin, and impulsively grabs Jay and kisses him. Collin and Sienna are both surprised to see her with somebody else. Jay plays along with the ruse and pretends to be Ally’s new beau. As it turns out, Collin and Sienna were supposed to meet Patrick and Adeline. They briefly and awkwardly talk about the Heart Eyes situation and then part.  

Jay offers to share his Uber ride to get her back to her building – but Ally’s lost her keys. Jay punches through the glass door to get in and cuts his hand. They go to her apartment and while she patches him up, she reveals that before she got into advertising, she had been studying to go into medicine. But then she found out that she couldn’t stand the sight of blood.  

When she opens her closet, Heart Eyes emerges and attacks. He goes after Jay, but Ally smashes a lamp on his head. They run back outside to the Uber, but Heart Eyes spears the poor driver with an arrow. Ally and Jay run to a nearby park, and Jay gets knocked out. Ally keeps going, coming to a carousel. Heart Eyes toys with her before attacking but she manages to kick him off the carousel. Then the cops arrive, letting Ally know they’ve captured Heart Eyes. 

Ally (Olivia Holt) and Jay (Mason Gooding) prepare to fight Heart Eyes in Heart Eyes
Olivia Holt, Mason Gooding in Heart Eyes

Hobbs and Shaw arrive, and Ally sees Jay in one of the cop cars. Shaw tells Ally that he’s the killer. Ally tries to tell them otherwise, but they’re not hearing it, and Jay’s pissed at Ally for leaving him behind. Ally follows along to the precinct but can’t get any information from the cop at the front desk.  

An IT tech, David (Yoson An), recognizes Ally from the Bumble app and tries to make a move. Ally politely shuts him down, saying it’s really not the best time. Meanwhile, Hobbs and Shaw question Jay, doing the whole good-cop-bad-cop thing. They show Jay the ring, supposedly bearing his initials. Hobbs gets a little too bad-coppy and Shaw sends him out. Then she uses a flirtier approach to try and get Jay to break.  

RELATED: Movie Review: A Complete Unknown

Back at the desk, while the clerk goes to find out about Jay, the lights go out. Ally arms herself with a flagpole while Hobbs and Shaw go to investigate. Heart Eyes emerges and attacks the poor desk clerk, impaling her with the flagpole before attacking Ally, who runs. Then Heart Eyes knocks out Shaw and kills Hobbs with a machete to the nuts – yow – before cutting his throat. Heart Eyes then goes after Jay, chasing him around the table he’s handcuffed to.  

Ally finds a gun and unloads through the one-way glass. Heart Eyes takes off and Ally frees Jay, who remarks that she’s a terrible shot. They run from the station to a drive-in theater, crowded with couples watching the classic Cary Grant-Rosalind Russell romcom His Girl Friday (1940). Ally and Jay realize they’ve unknowingly brought Heart Eyes to a target-rich environment. 

They find a van to hide in but then realize a couple is in the back. Thinking they’re doing some kinky roleplay, the stoned, hippie couple continues having sex while Ally and Jay have a heart-to-heart. Ally tells Jay about her mom and dad, who had a storybook romance until her dad passed away. She apologizes to Jay for leaving him behind.  

The Heart Eyes killer (Alex McColl) attacks the police station in Heart Eyes
Alex McColl in Heart Eyes

Then Heart Eyes finds them and goes after the horny hippies first. He stabs the guy through his open mouth with a tire iron and then brings the girl’s face down on it. Ick. There’s a gross but clever shot of Ally through the hippie girl’s open wound before she and Jay run for it.   

Pandemonium ensues as Heart Eyes goes on an unhinged spree, sending people running everywhere. Ally and Jay bravely decide to stand their ground and put a stop to Heart Eyes. They take the same tire iron (double ick) and attack him with it. Then Ally brains him with a propane tank and Jay gets a hold of Heart Eyes’ machete and runs him through. 

RELATED: Underrated Horror Movie of the Month: Willard

Ally pukes all over Heart Eyes at the sight of all the blood. Then they unmask him only to find that it’s just some random dude (Vinnie Bennett). Emergency crews and Shaw arrive and take care of them. Jay gives Ally his number, and they say their goodbyes. He still needs to head to the airport, and Shaw offers to give him a lift. 

Ally goes home, regretting letting Jay go. She calls Monica, who pushes her to go after him. Monica even manages to work in the titles of at least a half-dozen romcoms into one sentence, which is either cute or cringey, depending on how you feel about romcoms. Ally goes for it, getting a cab to the airport, but she can’t find Jay. Then she gets a phone call from the real Heart Eyes, who tells her to meet him at a local chapel. 

When she gets there, she finds the place lit with candles, and Jay tied up and gagged. The chapel is named for – you probably guessed it – St. Valentine. Heart Eyes removes his mask and reveals himself to be David the IT guy. Ally doesn’t recognize him at first, which David finds upsetting.

RELATED: Underrated Horror Movie of the Month: Stay Alive

But wait! There’s more! As it turns out, David has a partner – none other than Detective Shaw. They’re a couple, and their kink is taking turns murdering couples. So who was the random dude at the drive-in? Just an overeager fanboy they used. And the wedding band belongs to Shaw – Jeanine Shaw. Ohhhh.

Ally (Olivia Holt) and Jay (Mason Gooding) hide in another couple's van
Olivia Holt, Mason Gooding in Heart Eyes

Shaw makes Ally pick up a gun with only one bullet and make the choice – kill herself or kill Jay. Ally tells Jay she’s really fallen for him. Then she shoots him through the shoulder to hit Shaw in the gut. David attacks but Jay gets him with one of his arrows. Then David face-plants into a bunch of lit candles, getting burned. 

Shaw tries to finish Ally off, but Ally stabs her in the neck with her favorite, environmentally-conscious metal straw. Then Ally shoves her into the St. Valentine statue’s sword. There’s a cringey moment of waiting for the sword to rip through Shaw’s neck and behead her, which is how St. Valentine died. Ironic, dont’cha think? Then, there’s a cheap shot of David trying to get at them but Jay hits him with another arrow.  

RELATED: Horror With a Side of Cheese: Beaster Day

Cut to a year later. Ally and Jay are back in the conference room at Crystal Cane’s offices. But this time it’s a happy gathering, celebrating their hugely successful new ad campaign. Then Ally and Jay go to the same drive-in where the massacre occurred – which, they agree, is a weird place for them to be. But it’s also an important place for them.  

Jay asks Ally to move in with him, presenting her with a key in a ring box. But Ally says she doesn’t want a key and presents him with a ring. She proposes and he accepts. Aww. Then (during the credits), Ally gets a phone call, and it sounds like Heart Eyes. But it’s just Monica messing with her. She’s behind them taking pictures for them. But then the call cuts out. To be continued … ?

*** 

Heart Eyes has some real horror-comedy talent behind it, employing the writer/director of the Happy Death Day (2017) flicks and Freaky (2020), both of which were quite successful at combining the genres. Happy Death Day, especially (which is one of my favorites), is so incredibly clever and sharp. And the idea of a horror-romcom seems like it should’ve been thought of a long time ago. So, Heart Eyes should be an instant hit – right? Well, it certainly could’ve been, but after seeing it, I can’t say that Heart Eyes fully succeeds at what it’s trying to do.  

RELATED: Movie Review: Y2K

I find most (most, not all) romcoms to be, well, dumb. I tend to avoid them, so there are some “classics” I’ve never seen, like any of the ones Monica mentioned in her rapid-fire, cram-as-many-titles-into-one-sentence gag. But I know the routine of them, and that’s something that Heart Eyes has pretty well down. 

Monica (Gigi Zumbado) comforts Ally (Olivia Holt)
Gigi Zumbado in Heart Eyes

Everything from the obvious social media influencers choreographing their own marriage proposal to Ally and Jay’s awkwardly cute first meeting over complicated coffee is precisely what it should be. Olivia Holt and Mason Gooding’s chemistry is decent and the flick’s saving grace. You find yourself caring about what happens to them, at least enough to get you through to the kinda rote ending. 

However, merging the genres is problematic and feels a little sloppy. Instead of a cohesive story, Heart Eyes feels like a bunch of disparate ideas, scenes and gags all thrown together with no real desire to make it all make sense. Like how did Heart Eyes get started? Why is the couple at the spa never even shown? How did they even know where Ally lived, let alone get into her apartment? And the Hobbs and Shaw thing is just a random joke that doesn’t land, even though it gets a good 10 seconds of screen time, making it feel clumsy.

RELATED: Movie Review: Babygirl

On the flip side, there is funny stuff going on in Heart Eyes, and director Josh Ruben doesn’t skimp on the gore or the inventiveness of the kills. And Heart Eyes, as a horror icon akin to Michael Myers and Ghostface, has the potential to be included in those storied ranks if they decide to make a sequel.  

Heart Eyes is a little too basic, but fun flick, playfully skewering (and literally skewering) the romcom with a demented sort of glee. So if horror-comedies are your thing, it fits right in, and you’ll have a good time for an hour and a half. But it’s not a flick you’ll remember seeing after a week or so, and that’s not the kind of reputation any movie wants. Hopefully, if it does well enough and earns a sequel, the filmmakers will concentrate as much on the story as the gags and the gore. 

Heart Eyes poster

Directed by: Josh Ruben 

Written by: Philip Murphy, Christopher Landon, Michael Kennedy 

Release date: Feb 7, 2025 

Rating: R 

Run time: 1hr, 37min 

Distributor: Screen Gems / Sony Pictures

FLIGHT RISK Spoiler Review

Lorinda Donovan
Latest posts by Lorinda Donovan (see all)