What's a great movie without a wonderfully despicable villain? 2017 brought us an onslaught of superbly cackling baddies and, in chronological order, we've rounded up our favourites.
WARNING: SPOILERS AHEAD
The movie: Split
Played by: James McAvoy
We all knew James McAvoy was a terrific actor off the back of The Last King of Scotland, Atonement and any number of other movies. However, the Scottish star one-ups himself with his disturbing, multi-faceted portrayal of a young man suffering from multiple personality disorder in M. Night Shyamalan's comeback thriller.
Vacillating from lisping young boy Hedwig to prim Patricia to, eventually, the animalistic, terrifying Beast, McAvoy delivers a masterclass in physical performance and multiple accents. And the good news is Kevin will be back in 2019 to battle Bruce Willis and Samuel L. Jackson in Shyamalan's Unbreakable sequel, Glass.
The movie: The LEGO Batman Movie
Played by: Zach Galifianakis
Many great actors have played Batman's greatest nemesis over the years – Caesar Romero, Jack Nicholson, Mark Hamill and the fearsome, Oscar-winning Heath Ledger. With each subsequent incarnation it becomes harder for the performer to distinguish themselves, so props to Hangover star Galifianakis for investing the LEGO take on the character with all kinds of impish glee.
It helps that he has a gut-bustingly hilarious script to work from, one that imagines how lonely Batman's (Will Arnett) life would be if his greatest nemesis was locked up. The great triumph of the movie lies in re-imagining this animosity as its own kind of twisted bromance – exactly the kind of brilliantly funny spin we'd expect from the burgeoning LEGO universe.
The movie: Logan
Played by: Boyd Holbrook
Slicing through your generic superhero template like... well, a rampaging Wolverine, this bleak, dark inversion of the X-Men universe finally allowed Hugh Jackman to let rip with the feral bloodlust we all knew he had within him.
In the star's purportedly final turn as the character, he's compelled to protect his biological daughter and fellow mutant Laura (a superb Dafne Keen) from the malevolent designs of Transigen scientists. The latter exerts its muscle through the presence of cyborg 'reaver' Donald, played with no small amount of relish and a drawling accent by Narcos star Boyd Holbrook, who's kind of like Val Kilmer from Tombstone meets The Terminator.
When your character has no qualms both ensnaring and experimenting on a group of innocent child mutants, you know they're pretty horrible. Thankfully Donald gets the comeuppance he deserves.
The movie: Get Out
Played by: Catherine Keener
Jordan Peele's deliciously satirical horror-comedy doesn't just push our buttons so much as prod them relentlessly until we're squirming in our seat. The comedian's triumphant directorial debut has gone down as one of the finest – and indeed most financially successful – chillers of recent years as a black man discovers his white girlfriend's outwardly liberal family are harbouring nasty secrets.
In truth we could have nominated any of the Armitage family members here. But it's Keener's deceptively placid, teaspoon-wielding mother Missy who gifts us with the movie's most unforgettable image: that of hypnotised central character Chris (Daniel Kaluuya) helplessly trapped in the 'sunken place'. It's both brilliantly frightening and eerily redolent of the conversation currently gripping the modern world.
The movie: Beauty and the Beast
Played by: Luke Evans
It isn't easy taking on the live-action mantle of one of Disney's greatest baddies, but Welsh export Evans makes it look effortless.
Making his Fast & Furious villain look like a puppy dog, his arrogant, self-absorbed Gaston both nails the essence of the cartoon version and also adds significantly nasty touches. In a role that requires him to pout, preen and prance around in the pivotal "No-one thinks like Gaston" musical sequence, Evans is easily the most enjoyable presence in the movie.
Even so it's still satisfying watching the oaf plunge to his death during the climactic battle with Dan Stevens' Beast.
The movie: Fast & Furious 8
Played by: Charlize Theron
It takes a special someone to make Vin Diesel's beefy Dom Torretto sweat, but dreadlocked Cipher is that character. Blackmailing the franchise's main hero without breaking a sweat she has little need to raise her voice as she uses Dom to wreak all kinds of automotive havoc – a villain who remains steadfastly in control (at least until the insane submarine showdown at the end).
Charlize Theron is a great bit of casting: her commanding, steely presence has already been used to depict good guys in the likes of Mad Max: Fury Road but here it's flipped to create a proper ice queen. Even more than that, we discover Cipher was responsible for orchestrating most of the baddies from the earlier Fast & Furious movies – now that's evil.
The movie: Guardians of the Galaxy Vol. 2
Played by: Kurt Russell
Much was made of Russell's casting in the build-up to the Guardians sequel, and the trailers did a good job of fashioning him as the benevolent, beaming pops of Peter Quill (Chris Pratt). All the more startling then, that the last-act revealed Ego as a tyrannical lunatic who killed Peter's mother by implanting a brain tumour in her head, and who has evil designs on our central character.
In truth we should have seen it coming – Peter's relationship with his father in the Marvel comics (where the character is rendered as a literal living planet) is far from cosy – but even so it was a shock to see the usually upstanding Russell go all psycho on us.
The movie: Baby Driver
Played by: Jamie Foxx
Edgar Wright's sensational car chase musical bops along on a superb retro soundtrack and slickly choreographed action sequences, but it's not afraid to get its hands dirty when it wants to.
In the final stages of the movie as getaway driver Baby (Ansel Elgort) is compelled to save the woman he loves, Debora (Lily James), he's forced to turn the tables on his former criminal team.
Jon Hamm's former Wall Street banker-turned-bankrobber Buddy is in fact the primary antagonist during the final stages but we're nominating Foxx's fast-talking, unpredictable Bats for the position, a deranged madman who uses the strains of Button Down Brass' 'Tequila' to fuel his blood-lust during a shootout.
Adrian Toomes/The Vulture
The movie: Spider-Man: Homecoming
Played by: Michael Keaton
The wall-crawler finally joined the Marvel Cinematic Universe in this latest reboot of the character, and what a joy it was. Tom Holland's effervescent take on Peter Parker skews younger and more naive than predecessors Tobey Maguire and Andrew Garfield, which also has the effect of ramping up the central villain's sense of menace.
In a neat inversion a former Batman here adopts another suit, but for altogether more nefarious purposes. Keaton underplays the role of blue collar baddie Toomes, establishing a guy looking to get rich off the Chitauri technology left behind after Avengers: Assemble's New York battle. He's a refreshingly believable presence but still seriously dangerous with that mid-film connection to Peter leaving us reeling in our seats.
The movie: War for the Planet of the Apes
Played by: Woody Harrelson
Now here's an actor who's carved out a career playing crackpots and psychopaths, but the trilogy-capping War isn't interested in presenting us with a pantomime villain. Instead, Harrelson relishes digging into the role of one man with too much power, a militant commander utterly committed to the preservation of the human race, even if it means bringing about ape genocide in the process.
The scenes in which his Colonel squares off against intelligent ape Caesar (Andy Serkis) not only stun in their seamless CGI effects but also in terms of the issues they raise. What's the right or wrong solution in this post-apocalyptic situation? Which species ought to survive? That Harrelson's character invites both sympathy and revulsion is proof of the complexity of his character.
The movie: Detroit
Played by: Will Poulter
We're not watching Son of Rambow anymore. Versatile young British actor Poulter has already skipped through numerous genres, from gritty British drama (Wild Bill) to gritty frontier epics (The Revenant), but he's surely never played a character as troubled – or troubling – as here.
Although his terrifying, racist cop character is invented for the purposes of Kathryn Bigelow's shattering drama, he is the one who embodies the story's topicality and broiling anger. As the lawman using the Detroit riots as a playground to exert his own hateful fiefdom, the excellent Poulter makes a case for one of the most repellent characters of the year.
The movie: IT
Played by: Bill Skarsgard
Best movie villain of 2017? If not, he – or indeed, 'it' – has got to be the scariest. We were all curious as to how Skarsgard would take up the mantle of the bonechilling 1990 performance from Tim Curry, and it was wonderful to observe how the rangy, gangly actor put an altogether more childlike, gleeful spin on Stephen King's iconic killer clown.
Andy Muschietti's horror-drama was justly acclaimed as one of the finest King adaptations put to screen, precisely because it puts its central Losers' Club characters front and centre, recognising that Pennywise needs to remain in the background as the embodiment of their fears. All the more credit to Skarsgard for creating such a vivid, horrifying presence during his relatively limited screentime.
The movie: Mother!
Played by: Michelle Pfeiffer
Destined to remain one of the year's most controversial and inscrutable movies, Darren Aronofsky's whirlwind of escalating terror and Bible-infused mania is an experience like few others.
Throwing narrative coherence – and indeed character names – to the wind this is nothing less than an immersive nightmare, taking us inside the head of central character 'Mother' (Jennifer Lawrence) and exposing her anxieties on everything from home invasion to marriage and childhood.
All of the story's festering anxiety manifests itself in the form of Pfeiffer's malevolent 'Woman', a complete stranger who appears forensically capable of digging into Mother's neuroses and deep-seated fears.
The movie: Blade Runner 2049
Played by: Sylvia Hoeks
Denis Villeneuve's engrossing and overwhelming Blade Runner sequel may not have captivated the box office as expected, but it marks a thought-provoking and critically successful continuation of Ridley Scott's sci-fi mythology.
Amidst a movie brimming with myriad treasures, not least of which is Roger Deakins' shimmering cinematography (give him the Oscar now), it's perhaps easy to overlook the valuable input of the movie's side characters.
Among the most vibrant is ruthless, unstoppable replicant Luv, who is in pursuit of both Ryan Gosling's K and the secret he wields. Dutch actress Hoeks delves brilliantly into the character, signifying her not-quite-human status with off-kilter dialogue ("Another prodigal serial number returns") and slyly comic asides (organising a drone strike whilst getting her nails done).
The movie: Thor: Ragnarok
Played by: Cate Blanchett
She could maybe have done with more screen time, but if anyone's going to work a lot with a little it's Oscar-winner Blanchett.
The Blue Jasmine star's arrival into the Marvel Cinematic Universe sees her playing the deadliest Thor villain so far. God of Death Hela has a good reason for feeling vengeful – she was cast out of Asgard and has been lost to the annals of history – but her cackling methods are those of the classic love-to-hate villain.
Not only posing a fearsome threat to Chris Hemsworth's Thor, her actions also imperil his people and inadvertently lead to the destruction of the entire kingdom at the end of the movie. Booooo!
The movie: The Killing of a Sacred Deer
Played by: Barry Keoghan
Now here's a budding psychopath to stand with the best of them. Yorgos Lanthimos' sublimely unsettling oddity ruthlessly builds tension from the start, evoking an air of Greek tragedy in its story of a heart surgeon (played by Colin Farrell) and his ensuing mind games with a young teenager.
As the aformentioned adolescent, Irish newcomer Keoghan (who also excelled in a very different kind of role in Dunkirk) is quite brilliant, holding all the cards throughout without ever resorting to physical or verbal violence. Indeed, it's the babyfaced, almost innocent way he manipulates Farrell's character that invests the movie with such tension.
The movie: Paddington 2
Played by: Hugh Grant
In what's got to be the most ruthlessly self-deprecating comic performance of the year, Grant gamely sends up his own image in the gloriously entertaining Paddington sequel.
Grant has always had a knack for playing stuffy types but his faded actor Phoenix is a brilliant creation, a former thesp fallen on hard times who has resorted to starring in plummy-accented dog food commercials.
That's to say nothing of the fact he stocks his attic with all manner of wigs and costumes, or that he frames adorable Paddington (Ben Whishaw) for the theft of an antique pop-up book in pursuit of hidden treasure. He's a villain but one who's strangely likeable and utterly hilarious.
Supreme Leader Snoke
The movie: Star Wars: The Last Jedi
Played by: Andy Serkis
Ever since he manifested as a glowering hologram in The Force Awakens we've been ravenous for answers as to Snoke's background. Watching the character come into greater focus in Rian Johnson's The Last Jedi has proved one of the most exciting moments of the year, allowing Serkis' skin-crawling uber-baddie to work all kinds of malevolent designs on Jedi Rey (Daisy Ridley).
Who were your favourite villains of 2017? Let us know @Cineworld.