El buen ladrón es una historia de engaños y duplicidad: los preceptos de la expectación y la realidad se confunden con un doble robo, un falso Picasso, una doble adicción, un ladrón bueno y un policía cansado.
Bob Montagnet (Nick Nolte), es un jugador y ladrón americano que ha acabado en el Sur de Francia arruinado y sin suerte; está además enganchado a la heroína, vicio alimentado por un joven argelino, Said (Ouassini Embarek). La película empieza con Bob jugando en un antro ilegal que supervisa Remi (Marc Lavoine), un proxeneta del barrio. Bob va perdiendo, desde hace ya meses. Bajo los efectos de heroína, conoce a Anne (Nutsa Kukhianidze), una joven de los países del Este "atrapada" por Remi.
Bob está hechizado por su belleza, y en particular por sus ojos de la suerte. Cuando la policía hace una redada, Bob salva la vida de Roger (Tcheky Karyo), el detective. En este momento nos damos cuenta de que a los dos hombres les une un fuerte lazo de amistad desde hace años. Bob salva a Anne de las garras de Remi y deja a su joven amigo Paulo (Said Taghmaoui) a cargo de ella. Cuando Bob toca fondo, tras perder su último céntimo en las carreras, su otro esbirro, Raoul, (Gerard Darmon), le propone que les ayude en un último y espectacular golpe en Monte Carlo. Tras pasar el mono, Bob junta a la antigua banda, que con la ayuda de un genio de la informática, Vladimir (Emir Kusturica), no planean robar la caja fuerte del Casino Riviera, sino la cámara acorazada que contiene una colección de arte invalorable...
Los personajes:
Bob (Nick Nolte). Hombre americano de mediana edad y adicto a la heroina, perdido por un pasado criminal en Francia. Es un farsante que continuamente se reinventa un pasado para escapar del lío en que se encuentra metido. Habla incesantemente sobre robos, números, sobre la teoría de la probabilidad, el juego, el arte... Su sueño es dar un golpe tremendamente complicado, y que además sea esteticamente atractivo. Le gustan las copias, las repeticiones, las versiones de las versiones, los amagos, la mano de siempre jugada de una forma distinta.
Roger (Tcheky Karyo). Es un policía cansado, harto de su trabajo, que ha seguido el caso de Bob durante muchos años. Le ve como un 'ladrón caballeroso'; le admira, le cae bien, y quiere impedir que cometa otro error. No es amante de la violencia, por lo que prefiere parecer débil para evitar cualquier tipo de enfrentamiento.
Vladimir (Emir Kusturica). Es un experto informático y guitarrista, con un toque de genialidad excéntrica. Bob acude a él porque sabe que fue el responsable de instalar el sistema de seguridad de la cámara acorazada; y eso le convierte en la única vía de acceso al recinto. La necesidad de conseguir dinero rápido para sacar adelante a su familia, le hace participar en el golpe.
Tony Angel (Ralph Fiennes). Marchante y perista de arte, también implicado en el asalto; un británico poco paciente con aquellos que incumplen tratos y le deben dinero.
Anne (Nutsa Kukhianidze). Es una prestigiosa joven de los países del Este a la que han engañado y obligado, como a tantas otras, a prostituirse. Cuando Bob entra en su vida, se ayudarán mutamente a salir de su espiral de decadencia.
Paulo (Saïd Taghmaoui). Desde que el padre de Paulo fue encarcelado, Bob se convirtió en una figura paternal para él. Ahora Paulo le ayuda a organizar el golpe.
Raoul (Gerard Darmon). Es un viejo amigo de Bob; se conocen desde hace tiempo y han trabajado juntos muchas veces. Cuando Bob pierde el último céntimo que le queda en las carreras, es Raoul quien le convence de que participe en el golpe del Casino.