Bob Hoskins s'est déjà essayé à plusieurs métiers lorsqu'il découvre le théâtre à l'âge de vingt-six ans. Il s'impose rapidement dans le milieu, puis décroche des rôles dans des séries télévisées. Il apparaît au cinéma en 1972 dans Up the front de Bob Kellett.Il s'impose en 1980 grâce à son rôle de gangster dans Racket de John Mackenzie. Il poursuit dans ce registre avec Cotton club (1984, Francis Ford Coppola) et Mona Lisa (1986, Neil Jordan). Il est particulièrement inquiétant en serial killer dans Le Voyage de Felicia d'Atom Egoyan (1999).Mais de son physique se dégage aussi une bonhommie certaine, qui lui permet d'endosser des rôles comiques. ll tourne même dans quelques films familiaux. Il est détective privé dans Qui veut la peau de Roger Rabbit ? (1988, Robert Zemeckis) aux côtés de personnages d'animation. Il est pirate dans Hook ou la revanche du Capitaine Crochet (1991, Steven Spielberg). L'année suivante, il donne vie au héros de jeu vidéo Super Mario Bros. En 1995, il prête sa voix à l'un des héros de Balto chien-loup, héros des neiges.Il s'essaie aux films historiques avec Nixon (1995, Oliver Stone) et Stalingrad (2000, Jean-Jacques Annaud). Il n'en délaisse pas pour autant les comédies : il joue dans Michael de Nora Ephron (1996) et Coup de foudre à Manhattan de Wayne Wang (2002). Agenda chargé pour l'acteur en 2003: caid dressant Jet Li à l'attaque dans Danny the dog, il incarnera le Dieu Odin lui-même dans Le Fils du Mask, avant de donner la réplique à Reese Witherspoon pour les besoins du drame historique Vanity fair.