The Cannes audience may have booed Okja back in May, but they got it wrong. This story of a genetically modified porker is much more than another pig in the city.

The Okja of the title is a pig, but this is no ordinary porker.  She’s the genetic creation of the Mirando Corporation – not to be confused with Monsanto – as part of their apparently benevolent programme to solve the problem of world hunger.  It all starts with one super pig giving birth to piglets, which are sent to farmers all over the world to rear.  Fast forward ten years and there’s a competition to find the best pig, with the winner triumphantly revealed in New York.  The likely winner is Okja, reared in the South Korean mountains and looked after by Mija (An Seo Hyun) and her grandfather.  Theirs is a simple life, in stark contrast to the city where she finds herself at the mercy of big business and animal liberation activists in equal measure.

Rural life in Korea is beautiful and simple, all greenery, mountains and streams, making the contrast with modern technology and the city even more extreme.  But Okja’s life in the remote countryside isn’t immune from it.  She’s been genetically created, after all, looking more like a hippo and certainly, without the curly tail you’d.  When the rep from Mirando comes to check on her progress, he does it all on his laptop: the pig is monitored by a piece of equipment attached to her ear.  Those differences become even more marked when the action moves to the city, not just New York but first of all Seoul, where Mija is trying to track down her four-legged friend.  She stands out against all those dark suits because of her red coat – and the fact that she’s from the country and doesn’t understand what’s happening around her.

By the time she gets to New York, it’s all about corporate culture, messages and core values, as exemplified by Mirando’s CEO, Lucy (Tilda Swinton) a woman obsessed with image and the power of the image.  Constantly dressed in pastels – like Mija, she also stands out against the dark suits around her, but for different reasons: she’s far from the sugary colour she favours.

The film’s all about people with agendas.  Mirando is one, as exemplified by Lucy, is all about making as much money as possible and fast.  That means using the cheapest products and their apparent social conscience is pure hypocrisy.  They even go so far as to use The Christians Harvest For The World as their campaign theme tune, although they haven’t listened too hard to the lyrics – ironic when you consider Lucy’s obsession with messages.  But there’s also the Animal Liberation Front, headed by Paul Dano, an immensely plausible and persuasive leader – but who’s not above beating up one of his subordinates when they get things wrong.  He fancies himself as something of a superhero, swooping in to save Mija and Okja, and there’s a strong sense of him not being quite what he seems.

If you’ve ever considered giving up meat, this is a film that could turn even the most dedicated carnivore into a vegetarian overnight.  The nightmare vision of the meat factory and the herd of genetically modified pigs confined in a large pen – their plaintive cries are gut wrenching – are more than enough to put you off the stuff for life.  And, if it doesn’t, you’ll at least start to wonder seriously about how and what we feed ourselves.

All of which makes the film sound like heavy going.  And the second half does have a decidedly more serious and thoughtful tone, but the first part has a lightness of touch that doesn’t wholly disappear in the later stages.  There are shades of Spielberg in the relationship between the child and the pig, a profound mutual dependency that tugs on the heart strings, and comedy in the shape of Jake Gyllenhaal’s Borat lookalike naturalist.

Forget that reception at Cannes.  Okja is a film that will make you cheer.  It’s imagination, heart and thought-provoking approach make it a film that works on two levels.  Whether you take it as a family fantasy, or as a satire on big business, it doesn’t matter.  Because it works.