Bong Joon Ho’s previous film Snowpiercer dealt with the dire consequences of a climate change experiment. His latest outing, Okja, also takes on issues of a global scale and another experiment. But whereas the first envisaged a post-apocalyptic ice age, this one shows a world still full of bucolic loveliness, at least on the surface.

Tilda Swinton was in Snowpiercer and she reappears here as Lucy Mirando, the new CEO of a huge corporation, having taken over the helm from her evil identical twin. Lucy the loser wants to come out from her sister’s shadow and distance herself from her, even wearing a brace in order to change her appearance. Poor Tilda really does get given some awful mouth-ware in Bong Joon Ho’s films. Lucy is all brightness – from her peroxide bob to her gleaming smile and shiny patent shoes. She wants this polish to rub off on the general public and convince people that her company’s super-pig (“discovered on a farm in Chile!”) is a natural product that will end the overpopulated world’s food shortage. It’s 2007 and she gives 26 farmers around the world the chance to rear the best pig.

Cut to ten years later and a paradisiacal mountain top in Korea. Here we meet Mija (An Seo Hyun) and our eponymous heroine Okja the sow. This gentle giant is Mija’s pet, companion and saviour. Mija lives with her grandpa on a small farm and they are about to get a visit from Dr Johnny (Jake Gyllenhaal), America’s favourite TV veterinarian, employed by Mirando to oversee the pig rearing competition. He looks like he’s stepped out of the 70s with his knee-high socks and oversized specs. He has an oversized ego to match and is increasingly unhappy to play second fiddle to Mirando and her supersized swine.

When Dr Johnny and his cohorts take off with the pig, Mija sets out to rescue her and bring her home. This is one of the most entertaining parts of the film for this young girl is quite the action hero, sliding down mountains, leaping onto moving trucks and knocking down glass walls. In Seoul she encounters an animal defence organisation bent on protecting Okja and infiltrating the sinister Mirando plant and laboratory. This motley crew is made up of gang leader Jay (Paul Dano), looking very dapper in a reservoir dogs suit, K (Steven Yeun), the interpreter, Red (Lily Collins), Blond (Daniel Henshall) and Silver (Devon Bostock).

OkjaBong takes a nice little poke at the contradictions of animalists the world over. Silver is fainting from hunger, but refuses to eat a tomato that has been grown with the use of chemicals and transported across the globe. Yet he has little issue with dyeing his hair peroxide blonde and travelling from the US to South Korea with the gang. When K admits having mistranslated Mija’s words, Jay lays into him with incredible violence, again showing the contradictions between what non-violent protesters practice and what they preach.

But it’s not just the activists who come under fire and this is the film’s strength: as the audience discovers the horrors of the pig farm and the awful fate they await we are also told by Nancy Mirando that people will eat anything if it’s cheap. The contradictions of what we want as consumers and what we are prepared to give up for our purported ideals are what have led the world to its calamitous state and Boon makes no bones about showing us the consequences of our capitalist desires.

The weakness of the film is that it really should be for children, but the amount of swearing and violence is clearly aimed at an adult audience. This is a shame as Mija makes an excellent hero for youngsters. She is honest, brave and loyal (though it should be noted that this is no vegan movie – Mija’s favourite dish being chicken stew). Confronted with adult lies and subterfuge, she moves steadily on in her quest to save her porcine friend. Judging by this performance, An Seo Hyun has a wonderful career ahead of her. There are also issues with Dr Johnny, who Gyllenhaal plays as a vaudeville villain. The baddies are really bad, but a little too overblown. Giancarlo Esposito is sorely underused as a double-crossing Mirando lackey and Shirley Henderson as Lucy’s PA lacks subtlety. Paul Dano is reliably excellent and Swinton’s portrayal of the neurotic Lucy is a nice comic turn, though her portrayal of the evil twin is less successful. There are also some unusual musical choices that didn’t make much sense, particularly a John Denver number during a scene in a Seoul metro station that jarred.

Okja is often funny and warm and it is unafraid to portray the contradictions of our world. Yet it is also a contradiction: a children’s film in an adult format.