Lupita Nyong’o, Paapa Essiedu, Bella Ramsey, Alia Bhatt and Daniel Craig: Casting Choices that Stirred Up Controversy
Unless you are pizza, you’re never going to make everyone happy. When it comes to casting decisions for films, especially for characters that are already legendary or pre-described in literature or audience imagination, there’s always going to be some backlash. Take Lupita Nyong’o as Helen of Troy or Elliot Page as Sinon in Christopher Nolan’s “The Odyssey,” for example. Ever since their names were announced in the cast, even hardcore Nolan fans have expressed their doubts.
And yet, as history has taught us—through one of Nolan’s own films, in fact—premature judgement can result in people having to eat their own words when what they doubt ends up working out just fine. Here’s a list of casting choices that became mired in controversy when they were announced, but ended up being either memorable performances or mere footnotes in the film’s history.
Lupita Nyong’o as Helen of Troy in ‘The Odyssey’
Nolan’s decision to cast Lupita in a double role as both Helen of Troy—the face that launched a thousand ships—and her sister, Clytemnestra, in "The Odyssey," was met with quite the uproar on social media. While some cited that it was geographically and historically not possible for Helen to be a woman of color, there were comments with a racist undertone too.
Paapa Essiedu as Severus Snape in HBO’s 'Harry Potter' series
HBO’s Harry Potter reboot series has made some questionable choices, such as casting Italian actress Alessia Leoni as the Indian-origin Hogwarts student Parvati Patil. However, its biggest backlash comes from its choice of actor to play Potions headmaster Severus Snape. On the surface, it might seem racist to protest the casting of Black actors like Essiedu and Arabella Stanton as Snape and Hermione Granger, respectively. However, considering Snape gets bullied by James Potter, a canonically Caucasian character, and Hermione is called a “Mudblood” by Draco Malfoy, who is a supremacist, the casting adds a racist subtext to the narrative.
Jacob Elordi as Heathcliff in ‘Wuthering Heights’
Author Emily Brontë describes Heathcliff as “dark-skinned” and “gypsy-looking,” which Jacob Elordi is clearly not. His casting caused a furor amongst book fans, especially when British-Pakistani actor Shazad Latif was in the same film, playing Edgar Linton.
Related Stories
Robert Downey Jr. as Doctor Doom in ‘Avengers: Doomsday’
RDJ’s casting as Doctor Doom isn’t controversial amongst fans only because it dilutes the emotional impact of his passing in “Avengers: Endgame”. In the Marvel comics, Doctor Victor Von Doom is canonically Romani, born outside Latveria. His heritage and the death of his parents is an important part of his villain origin story. It’s puzzling, then, that all of Doom’s live-action iterations have been played by white actors like Toby Kebbell, Julian McMahon and now, Robert Downey Jr. in “Avengers: Doomsday”.
Ismael Cruz Córdova as Arondir in ‘The Lord of the Rings: The Rings of Power’
Fans of J.R.R. Tolkien’s Middle-Earth and Peter Jackson’s film adaptation of it have been furious over the existence of a “black elf,” going by how the lore describes elves as “fair.” Córdova has had to bear ruthless trolling on social media over this deviation from canon.
Steve Touissant as Corlys Velaryon on 'House of The Dragon'
In another case of “this wasn’t in the lore,” the Velaryons being black in "House of the Dragon", yet having the ashy white hair of the Targaryens, goes against what George R.R. Martin wrote about in his “World of Ice and Fire” novels.
Priyanka Chopra as Mary in ‘Mary Kom’
This casting choice for the biopic of the Indian Olympic boxer caused quite the hullabaloo since Mary Kom is North-eastern and Chopra is of Punjabi, North Indian origin.
Halle Bailey as Ariel in 'The Little Mermaid'
To most who pictured her all their lives, Disney’s "Little Mermaid," Ariel, was fair with flaming red hair. That’s what most of her screen and illustrated versions have looked like. The casting of Halle Bailey, a person of color, as Ariel caused quite the backlash online.
Vani Kapoor as Maanvi in 'Chandigarh Kare Aashiqui'
Much like Eddie Redmayne in “The Danish Girl,” there was heavy discourse around why a cisgender actor like Vani Kapoor was playing a trans character in a film that centered around gender identity.
Elliot Page as Sinon in 'The Odyssey'
The casting of trans actor Elliot Page as a Greek soldier in “The Odyssey” was met with such unprecedented hate that it spawned fake rumours about Page playing Achilles and being an absolutely ill fit for it, due to their physicality. It was only much later that Page was revealed to play a soldier named Sinon. But even then, the hate continues.
Popular on Variety
Lashana Lynch as 007 in ‘No Time To Die’
Lynch was cast in Daniel Craig’s last film as the MI6 spy, James Bond. And the timing caused many to wrongly believe that a woman was to be the new James Bond. It shouldn’t have invited the hate that it did; however, it was eventually revealed that she was merely a new 007 agent, and not Bond. In fact, Lynch herself spoke about how she didn’t want to step into roles that were canonically male, but would rather that fresh roles be written for women to create their own franchises.
Jodie Whittaker as the 13th Doctor in ‘Doctor Who’
The era of the Thirteenth Doctor on BBC’s “Doctor Who” was not a great one and was heavily criticised for its poor writing. However, the criticism did begin as a sexist reaction to Jodie Whittaker being the first woman Doctor.
Alia Bhatt as Gangu in ‘Gangubai Kathiawadi’
Bhatt’s stature and previous filmography turned everyone skeptical about Sanjay Leela Bhansali’s decision to cast her as a brothel madam, a character based on a real personality. However, Alia Bhatt shut down all her critics with a staggering performance as the formidable Gangubai.
Shraddha Kapoor as Haseena in ‘Haseena Parkar’
Until this point in her career, Kapoor had only played girl-next-door characters. Moreover, her stature and physique were also considered a mismatch to play the real-life sister of gangster Dawood Ibrahim.
Janhvi Kapoor as IAF pilot Gunjan Saxena in ‘Gunjan Saxena: The Kargil Girl’
Janhvi Kapoor’s casting in this Netflix film came at a time when the nepotism debate was going strong. Many felt that she was a nepotism hire and lacked the depth and acting chops to portray the young, pioneering IAF pilot.
Bella Ramsey as Ellie in ‘The Last of Us’
As much as Ramsay punching above her weight in “Game of Thrones” was loved by fans, her physical appearance made fans think she was a bad casting choice as Ellie in HBO’s video game adaptation, “The Last of Us.” In Season 2, even her queer romance arc with Dina and the lack of darkness in her character were met with fan displeasure.
Heath Ledger as The Joker in ‘The Dark Knight’
Ledger’s young age and past filmography (rom-coms and queer drama “Brokeback Mountain”) were the reason for some initial backlash to his casting as The Joker in Christopher Nolan’s “The Dark Knight,” This was possibly the biggest case of shutting down critics in the history of film, since he went on to win an Oscar (posthumously) for his performance, and remains one of the greatest casting choices.
Daniel Craig as James Bond in ‘Casino Royale’
Up until Craig’s casting, James Bond was played by a certain type of actor—tall, dark and handsome. Craig, with his blue eyes, blonde hair and 5’10 inch height, fulfilled only the last condition. The early reactions to his casting were not favorable, and there was even a website created to protest against it. But Craig’s Bond became one of the most beloved, with five films as the British spy, second only to Roger Moore and Sean Connery, who each did seven films.
Arjun Rampal as Arun Gawli in ‘Daddy’
It was difficult for people to picture the good-looking Arjun Rampal, with his model-like features and stature, as politician and Mumbai underworld gangster Arun Gawli. Of course, prosthetics were involved, particularly to get his facial features right. But it did launch a conversation around why the industry refused to cast Maharashtrian actors that would suit the part better and speak the language well.
Saif Ali Khan as Lankesh in ‘Adipurush’
The criticism for Saif Ali Khan’s casting as Lankesh in “Adipurush” was more about the look that they created for his character. With the spiky hair and sharp beard, he looked more like a Mughal ruler than a king from Indian mythology. Eventually, his performance, too, was deemed too modern and caricaturish.
Hrithik Roshan as Anand Kumar in ‘Super 30’
Casting the “Greek God” of Hindi Cinema as a de-glamorised, poor mathematics teacher from Bihar was a difficult sell. The makers even gave Hrithik a “brown face”—darkening his skin using makeup. However, audiences weren’t sold on it. Furthermore, his unconvincing Bihari accent was another nail in the coffin.
Read More About: Avengers Doomsday, Elliot Page, Harry Potter Reboot, Lupita Nyongo, Paapa Essiedu, Robert Downey Jr, The Odyssey
More from Variety
By providing your information, you agree to our Terms of Service and our Privacy Policy. We use vendors that may also process your information to help provide our services. // This site is protected by reCAPTCHA Enterprise and the Google Privacy Policy and Terms of Service apply.














Comments are moderated. They may be edited for clarity and reprinting in whole or in part in Variety publications.