TIFF 2025: Our Review of ‘Aniki-Bobo’

Posted in Festival Coverage, Movies, TIFF 2025 by - September 06, 2025
TIFF 2025: Our Review of ‘Aniki-Bobo’

I read reviews of Aniki Bobo and few of those wrote that it’s also their first Manoel de Oliveira film. Obviously seeing this at TIFF, Andrea Picard introduced the film as one that shows de Olivera’s themes and motifs. One of those motifs is a love triangle, and central to the triangle here is Carlitos. Playing Carlitos is Horácio Silva, a regular little boy living in 1940s Porto. He likes Terezinha (Fernanda Matos) but she also likes Eduardo (António Santos), impressing Terezinha with his skills in diving. While talking with Carlitos, she expresses an interest in a doll, part of a shop keep’s (Nascimento Fernandes) window display. He steals it, the beginning of the little Portuguese boy’s descent into moral ambiguity, which starts to haunt him.

Aniki Bobo has Manoel de Oliveira showcasing Porto’s beauty but also the realities of its citizens, especially the young ones. In Picard’s introduction, she talks about how de Oliveira got in trouble with the censors for this film’s supposed subversiveness. I don’t 100 percent see the vision but it’s there with the way the kids understand the hurdles they face. They know they don’t have enough money, and they feel desperate enough to resort to impulsive behaviour, messing them up. And they’re like what, six, which is too young for moral quandaries, and even the shopkeep agrees with that. The film portrays its one main adult with nuance, one of the many reasons why this is a hidden gem.

This post was written by
While Paolo Kagaoan is not taking long walks in shrubbed areas, he occasionally watches movies and write about them. His credentials are as follows: he has a double major in English and Art History. This means that, for example, he will gush at the art direction in the Amityville house and will want to live there, which is a terrible idea because that house has ghosts. Follow him @paolokagaoan on Instagram but not while you're working.
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-61364310-1', 'auto'); ga('send', 'pageview');