Im Film spielen Robert Downey Jr. als Sherlock Holmes und Jared Harris als durchtriebener Fiesling Moriarty zwei erbitterte Rivalen, im echten Leben sind die beiden dagegen alte Bekannte, standen sie doch bereits 1994 für Oliver Stones "Natural Born Killers" gemeinsam vor der Kamera.
Bevor "Verblendung"-Schauspielerin Noomi Rapace den Part der Zigeunerin Sim übernahm, waren mit unter anderem Sophie Marceau, Audrey Tautou, Penélope Cruz, Juliette Binoche, Virginie Ledoyen, Eva Green, Marion Cotillard und Cécile de France einige prominente Namen im Gespräch.
Als es um die Besetzung des Bösewichts ging, schien den Produzenten zuerst kein Name groß genug zu sein. Früh wurde Brad Pitt gehandelt, bei den Casting-Überlegungen fielen dann auch noch die Namen Gary Oldman, Daniel Day-Lewis, Sean Penn und Javier Bardem, wobei teilweise sogar die Agenten der Stars kontaktiert wurden. Überraschend entschied man sich dann aber doch für den deutlich unbekannteren Jared Harris, der vor allem mit seinen Nebenrollen in den Serien „Mad Men“ und „Fringe - Grenzfälle des FBI“ die Produzenten beeindruckte.