After a frustrating series of disappointing dates, 27-year-old restaurant server Paola excitedly tells her sister Maria about Henry, a promising match she recently found on a dating app. Maria warns her sister against going to Henry’s house for their first date, but Paola explains Henry has an autoimmune disorder that prevents him from going out. Agreeing that it would be unwise to not verify Henry’s identity further, Paola arranges a video call with him, but it quickly freezes and cuts off.
Paola and Maria share a phone call with their blind father, Papa, during which they discuss visiting him before his upcoming surgery. The sisters also sing “Cielito Lindo” to him.
Paola goes to Henry’s house for their date. Henry’s sickly mother Lucille invites Paola inside. Although the woman makes her uncomfortable, Paola drinks a glass of wine at Lucille’s insistence. As the situation grows increasingly awkward, Paola starts texting Henry and hears notifications coming from Lucille’s phone. Before she can leave, Paola falls unconscious from drugs Lucille put in her drink.
Paola wakes up restrained to a wheelchair. Lucille escorts her into a dirty room where Paola discovers Henry is a horribly disfigured mute. After Lucille leaves them alone, Henry pulls down his pants and approaches Paola, causing Paola to throw up at the disgusting sight of Henry with an erection. Henry slips on the vomit and accidentally knocks himself out. Paola breaks free from her restraints and escapes to a hallway where she badly injures her bare foot in a mousetrap.
The next morning, Maria becomes concerned when she sees Paola didn’t come home and will miss their planned visit with Papa. Impersonating Paola, Lucille answers Maria’s text messages, but Maria finds the responses suspicious.
Horrified upon finding her son collapsed, Lucille brings Henry into a bathroom where Paola is hiding. Lucille expresses anger over not having a grandchild when Henry indicates he was unable to “perform” with Paola like Lucille instructed. To remind him what to do, Lucille has Henry think about Paola while she masturbates him. After he climaxes, Lucille sends Henry to search for Paola.
Henry finds Paola hiding in a room of mutilated bodies from his previous attempts at procreation. Paola and Henry struggle. Henry attempts to force himself onto Paola, but she triggers a mousetrap on his penis and flees.
Posing as an attractive Henry once again, Lucille sexts with an interested woman named Natalie. Seeing Natalie as a better option for breeding, Lucille instructs Henry to kill Paola.
Paola is pulled into another room by the man she spoke to on her video call and whose photos were used for Henry’s profile. The handsome man identifies himself as Eli. Chained to a bed with both feet cut off, Eli claims he became a captive after Lucille catfished him, and he has been forced to help her lure victims to the house ever since.
Paola and Eli begin forming a romantic connection by discussing their ill parents. Paola convinces Eli to help her fight back against Lucille and Henry to escape. The two of them pull off a plan that distracts Henry while Paola recovers the wheelchair to make Eli mobile.
With the police not taking her suspicion of danger seriously, Maria tracks her sister’s phone to the house. Through a window, Maria spies Lucille preparing drugged wine and handling Paola’s phone. Previously summoned to help find her sister, Paola’s ex-boyfriend Ryan joins Maria outside.
Natalie arrives at the house to meet Henry. Despite being extremely disappointed to discover she lied in her profile and doesn’t resemble her pictures, Lucille invites Natalie inside with the intention of drugging her for Henry anyway. Their conversation becomes additionally uncomfortable as Lucille continually insults Natalie’s age, weight, and appearance.
Before Lucille can inject Natalie with a syringe, Maria and Ryan knock at the door. Following an accusatory confrontation with Lucille, Maria and Ryan push their way inside. Lucille quickly takes Maria hostage, but Natalie knocks her out from behind.
Maria, Ryan, and Natalie team up to find Paola. Paola accidentally knocks her sister unconscious when the trio rounds a corner to join her and Eli.
Ryan stays behind for a faceoff with Henry while Eli leads Paola and Natalie in carrying Maria away. Henry ends up killing Ryan by bashing his head with a spiked baseball bat. After catching up to the others, Henry kills Natalie by forcing his thumbs into her eye sockets.
Henry becomes distracted by a call from Papa on Paola’s phone. Referring to Eli, Paola indicates to her father that she finally met someone, which angers Henry. Upon regaining consciousness, Maria begins singing “Cielito Lindo.” Paola joins in, comforting Papa and soothing Henry at the same time. Paola then uses the opening to embed the spiked bat into Henry’s back.
Paola, Maria, and Eli escape to the kitchen, but they are stopped by Lucille firing a bullet into Maria. Lucille reveals Eli is actually her second son, but she turned on him in favor of Henry because Eli is impotent. Although he claims he didn’t want to help his mother, Paola is upset to learn Eli lied.
Maria attacks Lucille, which causes Lucille to accidentally shoot Eli in his chest. Lucille also kills Maria by gruesomely slashing her throat with a broken wine bottle.
Lucille confronts Paola, now the sole survivor, at gunpoint. Henry interrupts. Lucille begins behaving belligerently toward her monstrous son, motivating him to break his mother’s limbs and beat her to death. Paola escapes outside.
Paola goes on to have a tearful visit with Papa in the hospital. Later, Paola prepares to delete the dating app from her phone, but she reconsiders when she is notified of a new match.
