From Benedict Cumberbatch to Robert Downey Jr: 10 stars who’ve played Sherlock Holmes

With Henry Cavill becoming the latest actor to portray the legendary detective in Netflix’s Enola Holmes, we look back at who else has famously donned the deerstalker

Benedict Cumberbatch, Rupert Everett and Roger Moore have all put their own spin on Sherlock.
Beta V.1.0 - Powered by automated translation

As Netflix's latest hit, Enola Holmes, charms audiences worldwide with the story of Sherlock and Mycroft's adventurous little sister who has inherited her elder brothers' powers of deduction and penchant for danger, this latest addition to the Sherlock stable plays perfectly into our enduring fascination with the gentleman detective.

With Strangers Things's Millie Bobby Brown in the titular role, Enola Holmes also stars British actor Henry Cavill as the latest actor pulling on the deerstalker to portray Holmes, alongside The Hunger Games's Sam Claflin as their uptight older brother, Mycroft. And this latest outing cements the beloved detective's appearance in the Guinness World Records as the most portrayed character in film and television history.

Created by British author Sir Arthur Conan Doyle, Sherlock Holmes first appeared in 1887's A Study in Scarlet, and Doyle himself admitted he had based his character on Joseph Bell, a surgeon at the Royal Infirmary of Edinburgh, for his ability to draw conclusions from the smallest of details. However, Bell later wrote to Doyle telling him, "You are yourself Sherlock Holmes and well you know it."

With more than 25,000 television shows, films, radio plays and stage adaptations based on the adventures of the legendary detective, we look back at 10 actors who’ve taken on the role and made it their own.

1. Henry Cavill

This image released by Netflix shows Henry Cavill, from left, Sam Claflin, and Millie Bobby Brown in a scene from "Enola Holmes." (Alex Bailey/Netflix via AP)

Bringing his signature square-jawed charm to the role, 37-year-old Cavill is a far more good-natured and indulgent Sherlock than the manic version portrayed by Benedict Cumberbatch on TV. Measured and thoughtful, Cavill’s Holmes doesn’t mind in the least being outmanoeuvred by his little sister as she races to solve the mystery of their mother’s disappearance and earn her big brother’s respect.

“He’s still this eccentric, odd, weird, aloof genius detective, as far as the outside world – as far as anyone else – is concerned,” says Cavill of his take on the role, “but his relationship with Enola is very specific and very unique.”

2. Robert Downey Jr

Jude Law played Dr Watson opposite Robert Downey Jr's Holmes in 'Sherlock Holmes'. Supplied

The American actor played Holmes in two Guy Ritchie-directed films, 2009's Sherlock Holmes and 2011's A Game of Shadows, alongside Jude Law as Dr Watson. Showing off his super-lean physique during a bare knuckle fight scene, we have Coldplay's Chris Martin to thank for encouraging 55-year-old Downey Jr to get into shape for the role, with the actor revealing: "He's a huge Sherlock Holmes fan. He said to me before we began, 'You've got to be gaunt. You've got to be a skinny as you possibly can to play Holmes.'"

3. Benedict Cumberbatch

Picture shows: Sherlock Holmes (BENEDICT CUMBERBATCH)  (Courtesy: Hartswood Films) *** Local Caption ***  al01ja-tv-sherlock04.jpg

British actor Benedict Cumberbatch, 44, won an Emmy Award for his portrayal of Holmes set in modern-day London in the beloved BBC adaptation, which spanned 13 episodes across four seasons.

"Benedict was the only person we offered Sherlock to," writer and co-creator Mark Gatiss told The Sunday Times. And Cumberbatch himself has admitted the rabid fandom has gotten a little strange at times.

“There is weird fan fiction out there – weird,” he says. “They write stories and do manga cartoons of what they think you get up to behind closed doors.”

4. Jonny Lee Miller

Jonny Lee Miller in Elementary (2012) IMDb

The British actor took Holmes to New York, with Charlie's Angels actress Lucy Liu starring as Watson in the TV show Elementary. And the actor, 47, who was once married to Angelina Jolie, had the support of a fellow Holmes, revealing that his close friend Benedict Cumberbatch loved the show. "He sent me some messages, when he'd first seen the show, and it was really, really nice," said Miller. "He's been very supportive, the whole way."

5. Michael Caine

Michael Caine in Without a Clue (1988)

The legendary British actor took Holmes down the comedy route in 1998's Without a Clue, which also starred Sir Ben Kingsley as Watson. In the film, Caine portrayed an actor who is hired by Watson to play the role of the famous detective, with the pair eventually going on to solve a real-life crime.

6. James D’Arcy

James D'Arcy. IMDb

If you don't know his face, you would certainly know his velvet voice, because the 45-year-old British actor plays Howard Stark's butler Edwin Jarvis in Agent Carter and Avengers: Endgame. D'Arcy played a youthful version of Holmes in 2002's Sherlock: Case of Evil, which also starred film and stage veteran, Richard E Grant, as Mycroft.

7. Rupert Everett

Rupert Everett in Sherlock Holmes and the Case of the Silk Stocking (2004) IMDb

The actor, 61, starred as Sherlock in the BBC's 2004 film Sherlock Holmes and the Case of the Silk Stocking. And fittingly for an actor who left school and moved to London at 16 to study at the prestigious Central School of Speech and Drama before being kicked out for insubordination, Everett says he was keen to explore the "darker" side of the world-famous detective.

“He’s very difficult to control, a law unto himself. He’s just not used to anyone telling him how to behave,” he says of the character. “He thinks he’s right about everything.”

8. Roger Moore

Roger Moore in Sherlock Holmes in New York (1976) IMDb

In the middle of his career playing super-spy James Bond, the late British actor took time out from saving the world from Spectre to star as Holmes in 1976's Sherlock Holmes in New York. In the made-for-TV movie, which Moore fitted in between filming The Man With the Golden Gun and The Spy Who Loved Me, Holmes finds himself in the Big Apple hunting down the kidnapped son of Irene Adler, who has been taken by the enduringly evil Moriarty. "What I most like about playing Holmes," he said, "is that there is more dialogue than I ever had in 120 Saint episodes and two Bond films."

9. John Cleese

John Cleese. IMDb

The Monty Python star took on the role of Holmes in the 1977 comedy, The Strange Case of the End of Civilisation as We Know It. The film also starred Connie Booth, Cleese's then-wife, who also played the role of Polly Sherman opposite him in Fawlty Towers, which she co-wrote. The couple divorced in 1978, a year after the film came out.

10. Ian McKellan

Ian McKellen in Mr. Holmes (2015) IMDb

The popular thespian portrayed Sherlock in his later years as a 93-year-old man in 2015's Mr Holmes. Still a super-sleuth, the older Holmes has to deal with seeing his legendary powers of deduction and famously sharp mind fade with age as he desperately tries to recall incidents from his final case, The Adventure of the Dove Grey Glove, in order to discover why it led to him retiring from the detective business.

“The intriguing part is that although Holmes is a role so many other actors have successfully played, this was a story that none of them had done before,” said 81-year-old McKellan. “And part of that newness is that Sherlock Holmes has become a very old man.”