Bad Apples (2025) Review

Quick Synopsis: A stressed primary school teacher (Maria Spencer, played by Saoirse Ronan) accidentally imprisons her most disruptive student (Danny, played by Eddie Waller) in her basement.

I didn’t see a single trailer for this before booking my ticket. I hadn’t heard any pre-release chatter either. Basically, I knew nothing about it. Which, to be fair, is how I live my life most days anyway. In this case, though, that might actually be the best way to go into it. Bad Apples is weird, and the premise alone might be enough to put some people off. Weirdly, this is the second film I’ve reviewed this year about someone kidnapping a person in an attempt to improve their behaviour, after The Good Boy (as reviewed here). The two films are working with a surprisingly similar premise, but Bad Apples handles it far more elegantly. The biggest difference is the age of the person being abducted. In The Good Boy, Tommy is 19, which is an age where it’s a little harder to look at his behaviour and think, “Maybe he just needs to be loved and listened to.” In Bad Apples, Danny is around nine or ten, making the idea that his home life is contributing to his violent behaviour much more believable. There’s also a much stronger reason for why this particular child is targeted. In The Good Boy, the choice of Tommy always felt somewhat arbitrary; in Bad Apples, the abductors are his classmates and his teacher, giving the whole thing a much clearer motivation. More importantly, the kidnapping feels like a last resort, brought about by an increasingly absurd series of events that somehow makes the whole ridiculous situation feel almost inevitable.

The other advantage this has over The Good Boy is that it’s actually fun. Bad Apples has an incredibly dark sense of humour, and nowhere is that more apparent than in the final third, when the local parents discover that that Danny has been kidnapped by Maria and essentially decide to ignore it because it’s better for the school if he’s not there. It’s absurd, but in a way that feels weirdly plausible. There’s something incredibly satisfying about watching them make an objectively terrible moral decision for the sake of the wider community. Nobody’s pretending it’s the right thing to do; they’ve simply decided that, under the circumstances, it’s the most convenient thing to do. It gives the film a slightly heightened, almost satirical quality, without ever tipping over into outright comedy.

I feel like Saoirse Ronan’s comedy skills are underrated. She has such an endearing presence that she’s perfect for something like this. Her character has a tricky line to walk: she has to kidnap a child, yet still remain likeable and sympathetic. Somehow, the film pulls it off. She’s written so well that you never really question her logic, even when what she’s doing is obviously completely insane. The film also manages to stop Danny from becoming completely unbearable. He is a little shit, there’s no denying that, but once you start to unravel his history, you begin to understand why he behaves the way he does. There’s more to him than just, “All the little shits need is a firm hand. Less Pokémon, and for my wife to come back. I’m gonna go paint a roundabout.” There’s genuine nuance to his character, which makes it all the more frustrating when his progress is threatened by another character: Pauline.

Pauline is such an annoying little shit. She’s not quite a villain, but she’s definitely an antagonist. The clever thing is that it’s almost impossible to actively hate her. She’s a child who isn’t used to receiving praise or attention, and once you understand that, you can sympathise with her even when you absolutely do not like what she’s doing. The further the film goes, the more frustrating she becomes, but the more you understand where she’s coming from too. It’s a difficult balance for the script to pull off, and it does it remarkably well. Yes, she’s blackmailing her teacher, which is hardly the behaviour of a particularly well-adjusted child. But the teacher is unquestionably the one who has crossed the bigger line.

It’s a crime that threatens to unravel towards the end, and unfortunately, that’s where the film starts to lose me. The ending is kind of a letdown, because it initially gives us a brilliant conclusion: technically a downer ending, but also strangely sweet and heartwarming. It’s brave, unique and darkly funny, and honestly, I would have been perfectly happy if the film had ended there. Instead, it carries on for much longer than it needs to, before arriving at a series of final shots that I found disappointing. It reminded me of the original ending of the Mr Bean movie, where an earthquake reveals the deception but we never actually get to see the aftermath. It’s the worst of both worlds: we know everything is about to change, but we don’t get to see any of it. It feels like a sequel hook for a sequel that can never happen. By the time the credits roll, I half expected them to say, “If you’d like to see the true ending, pay £5 now.”

I have one other issue: the Bad Apples metaphor is so heavy-handed that it’s basically slapping you in the face. The film isn’t content to let the idea of a “bad apple” emerge naturally from the story; it keeps returning to it, explaining it and underlining the comparison until there’s very little left for the audience to work out for themselves. Danny is the obvious “bad apple”, but the film is also interested in the idea of whether you can simply remove one problem from a group and pretend everything else is fine. That’s a perfectly good metaphor, but the film keeps pointing at it and saying, “Look! This is what we’re talking about!” I got it the first time. You didn’t need to keep reminding me.

That’s a minor issue, though. Overall, I really enjoyed Bad Apples. It’s shocking, weird and wonderful. It’s not perfect, but it is different. It’s ambitious, it’s darkly funny and, most importantly, it’s fun.

Leave a comment