The 29 Worst Movie Miscastings

George Clooney as Batman

The Role: The fractured vigilante hero – billionaire playboy by day, borderline psychotic crusader by night.

The Miscasting: Given a different director and a decent script George might have made a decent fist of the Dark Knight, but squashed into Schumacher’s bloated camp farce his earnestness and good looks made him into a be-nippled plastic toy.

Should have cast: To suit the movie? Bruce Campbell. To make Batman great again? Christian Bale. Sometimes, even Hollywood gets it right.

Matt Damon and Heath Ledger as the Brothers Grimm

The Role: A pair of knockabout brothers scamming European villages with smoke-and-mirrors ghoul displays.

The Miscasting: Played as standard medieval English, neither of the leads nails the accent, and despite the stature of both men, their chemistry together is non-existent. Coupled with Gilliam’s deflated fantasy, the whole thing feels overwrought and misjudged.

Should have cast: Nick Frost and Simon Pegg, of course .

Keanu Reeves as Jonathan Harker

The Role: Dashing young English lawyer who becomes involves with a supernatural enemy.

The Miscasting: Reeves make the peculiar decision to play the role as a dreary, milky nothing with an whispering murder mystery butler’s accent. He’s about as dangerous onscreen as a pillow – he is a black hole of sex and drama.

Should have cast: A younger Clive Owen.

Kevin Costner as Robin Hood

The Role: Outlaw nobleman who returns from the Crusades to find his father murdered and his land stolen.

The Miscasting: Physically, not awful. But Costner made exactly zero effort to hide the fact that he was a Californian thirtysomething rather than a titled Englishman, and so lacked any of the heart Robin Hood should have.

Should have cast: You know, that Russell Crowe fella might’ve been all right…

Vince Vaughn as Norman Bates

The Role: Timid mummy’s boy running the family motel and hiding a dark secret.

The Miscasting: In a way this entire film was badly miscast as a shot for shot remake of a classic thriller. In another, more specific way, meaty-faced Vince Vaughn was given the unenviable task of following Anthony Perkins’ perfectly anxious and flitting turn as an unhinged killer. Vaughn just looks a bit leery and thick.

Should have cast: Ralph Fiennes.

Ben Affleck as Daredevil

The Role: The Man Without Fear! Or, the man blinded by biochemicals in a hideous accident. Either way, he can hear real good and he kicks ass.

The Miscasting: Affleck’s a grinning charmer – he’d have had real trouble playing a straight hero with his whole goddam face, let alone using only his chin and tremulous voice. The costume was the fetish cherry on a humiliating cake.

Should have cast: Needs someone – not more stupid , just with less of an ironic bent. Mark Wahlberg would have simplified things all round.

Hayden Christensen as Anakin Skywalker

The Role: Deeply conflicted Jedi property with potential to do enormous good…or evil.

The Miscasting: The only conflict apparent in Christensen’s performance is between his face – constantly contorted in a grimace of incomprehension – and reality itself. Furrowed brow and sulky intonation didn’t go far in portrayed what should’ve been a great tragic character.

Should have cast: Jesus, anybody. But ideally someone who can switch from likeably light to believably dark in a flash – someone with some sodding charisma. Christian Bale, please.

Leonardo Di Caprio as Amsterdam Vallon

The Role: Angry Irish-American tyro fuelled by a burning, lifelong lust for revenge.

The Miscasting: Dough-faced DiCaprio is too soft, too round and too ‘child actor gone to seed’ for the part of a tough street survivor. And that bloody beard looks stuck on.

Should have cast: Irish? Rebellious? Cocksure? Why the hell didn’t someone call Colin Farrell?

Alanis Morrisette as God

The Role: The supreme being.

The Miscasting: Given that we’d award Alanis Morrisette three stars out of five for being Alanis Morrisette, playing God seems like an over-extension of her limited talent. One of the most cosmically awful casting decisions ever made.

Should have cast: Brian Cox, probably. But really – anyone else at all.