Camarades de collège, Diana et David Murphy se sont mariés très jeunes et éprouvent l'un pour l'autre un amour grandissant. Mais leurs professions sont frappées par la récession. Pour faire face aux traites, il leur faut réunir d'urgence 50 000 dollars, qu'ils comptent gagner en jouant à Las Vegas.Là, ils ne tardent pas à tout perdre. John Gage, un milliardaire étrange et séduisant, fait à David une surprenante proposition : un million de dollars en échange d'une nuit d'amour avec Diana.
Représentant de commerce, Chris Gardner a du mal à gagner sa vie. Il jongle pour s'en sortir, mais sa compagne supporte de moins en moins leur précarité. Elle finit par quitter Chris et leur petit garçon de cinq ans, Christopher.Désormais seul responsable de son fils, Chris se démène pour décrocher un job, sans succès. Lorsqu'il obtient finalement un stage dans une prestigieuse firme de courtage, il se donne à fond, même si pour le moment il n'est pas payé. Incapable de régler son loyer, il se retrouve à la rue avec Christopher. Le père et le fils dorment dans des foyers ou des gares, cherchant des refuges de fortune au jour le jour.Perdu dans la pire épreuve de sa vie, Chris continue à veiller sur Christopher, puisant dans l'affection et la confiance de son fils la force de surmonter les obstacles...