cast
Robert Downey Jr.
as Sherlock Holmes
Jude Law
as Dr. John Watson
Rachel McAdams
as Irene Adler
Jared Harris
as Professor Moriarty
Eddie Marsan
as Inspector Lestrade
Geraldine James
as Mrs. Hudson
Clive Russell
as Captain Tanner
Jack Laskey
as Carruthers
Kelly Reilly
as Mary Morstan
Paul Anderson
as Colonel Sebastian Moran
Stephen Fry
as Mycroft Holmes