Amanda Seyfried as Nina

The Housemaid is Pulpy, Trashy Fun in Familiar Shadows

Reviewed by Chris Corey
December 30, 2025

The Housemaid

★ ★ ★ ½

The Housemaid is a psychological thriller based on a popular series of novels by Freida McFadden about a housemaid with a troubled past who works for wealthy families who value discretion. As she works for them, she brings their dirty laundry to the surface. This film follows the original novel’s plot, twists and all. It would be easy to dismiss this as Lifetime Channel fare, but the script weaves a tight, nasty little tale with convincing performances. It’s trashy and kind of a guilty pleasure.

Millie Calloway (Sydney Sweeney) interviews for a job as a live-in housemaid for Nina Winchester (Amanda Seyfried), husband Andrew (Brandon Sklenar) and their daughter Cece (Indiana Elle). Nina and Millie hit it off during the interview and tour of the home. It’s immaculate, spotless—nothing out of place.

Sydney Sweeney as Millie

Sydney Sweeney as Millie
© 2025 Lionsgate

But Millie didn’t disclose that she’s currently out on parole after serving 10 years of a 15-year sentence. She’s certain a basic search of her past will kill any chances of getting the job.

To Millie’s surprise, Nina offers her the job a few days later. Apparently, Nina doesn’t believe in background checks. Millie moves in right away and is given a small bedroom in the attic to call her own. The kitchen is a complete disaster, and Millie’s first job is to clean it. Andrew and Cece come home, surprised that Nina has hired a housekeeper. Cece, about 10 years old, rarely cracks a smile. It’s clear she doesn’t like Millie at all. Andrew is annoyed that Nina hired someone, but plays along anyway.

Brandon Sklenar as Andrew and Amanada Seyfried as Nina

Brandon Sklenar as Andrew and Amanada Seyfried as Nina
© 2025 Lionsgate

The next day, Nina is looking for notes for a speech she’s supposed to give at a big PTA gala. She accuses Millie of tossing them out, has a meltdown about it and threatens to fire Millie. Andrew is the voice of reason, and this sets off the dysfunctional dynamic. Nina is nice one moment, unhinged the next. Andrew plays the doting husband while trying to assure Millie that everything is going to be fine. This cycle repeats, each time a little more dangerous.

Sydney Sweeney as Millie and Amanda Seyfried as Nina

Sydney Sweeney as Millie and Amanda Seyfried as Nina
© 2025 Lionsgate

This is where films like this fall into a formulaic routine, with scenes strung together to force a plot that heads towards a predictably violent conclusion. But this film has some tricks up its sleeve, and even if you see them coming, another twist spins the story in a different direction. Nothing is forced here; the script earns every dramatic turn and plot point. While the conclusion may be predictable, it’s the journey that makes it a fun ride.

The film does stumble a bit with pacing, focusing on certain aspects of the story too long. To its credit, it quickly finds its footing and is off and running before it heads into boring territory. Though the script is smart and well written, it’s the acting by Sweeney, Seyfried and Sklenar that makes the film. The dynamic among them requires a chemistry that ebbs and flows as dark truths are revealed and we try to figure out what’s really going on before the film finally reveals its secrets.

Amanda Seyfried as Nina

Amanda Seyfried as Nina
© 2025 Lionsgate

Millie thought she was getting the job of a lifetime, a chance to get back on her feet, appease her parole officer and forge a new path. She certainly got more than she bargained for with the Winchester family. Perhaps she should have listened to that hesitation when she noticed her bedroom door locks from the outside—but then we wouldn’t have had this surprisingly well-crafted thriller to entertain us for a couple hours. It might be trashy entertainment, but it’s like the meal you build your cheat day around. And it’s totally worth it.

Rated: R for strong/bloody violent content, sexual assault, sexual content, nudity and language.
Running Time: 2h 11m
Directed by: Paul Feig
Written by: Rebecca Sonnenshine
Starring: Sydney Sweeney, Amanda Seyfried, Brandon Sklenar, Michele Morrone, Elizabeth Perkins

Mystery & Thriller, Drama

Sponsored by:

Recent Reviews

Normal Can’t Keep Its Weird Little Town—or Plot—Together

Normal Can’t Keep Its Weird Little Town—or Plot—Together

Normal ★ ★ Normal stars Bob Odenkirk as small-town sheriff Ulysses Richardson, who temporarily fills the role after the sheriff of Normal, Minn., dies. It’s an action-adventure film that attempts to contrast an absurdly normal, friendly town with Pulp Fiction-type...

Lee Cronin’s The Mummy Should Have Stayed Buried

Lee Cronin’s The Mummy Should Have Stayed Buried

Lee Cronin's The Mummy ★ Lee Cronin’s The Mummy is not the Brendan Fraser action-adventure mummy film many were expecting when the project was first announced. It attempts to create a darker, scarier monster film than the entries that preceded it. While it succeeds at...

You, Me & Tuscany Coasts on Charm and Scenery

You, Me & Tuscany Coasts on Charm and Scenery

You, Me & Tuscany ★ ★ You, Me & Tuscany is a story about a young woman named Anna (Halle Bailey), who dropped out of culinary school two months before graduation when her mother became deathly ill. Understandably, her mom’s death sent her life spiraling out of...

Beast Throws Punches but Ducks the Drama

Beast Throws Punches but Ducks the Drama

Beast ★ ★ ½ Beast is about a disgraced MMA fighter named Patton James (Daniel MacPherson) on the verge of a middleweight title. As the film opens, he knocks out an opponent in six seconds, then we flash forward 10 years to find him working as a fisherman. In that...

Faces of Death Revives the Title, Not the Terror

Faces of Death Revives the Title, Not the Terror

Faces of Death ★ ★ Faces of Death attempts to ask the same question as the 1978 film that shares its title: Is this real? The original film boasted ‘Banned in 46 Countries’ on its cover. No doubt, that helped propel it to cult classic status. It was also hard to find,...

Subscribe Today!