Chris Gardner è un padre di famiglia che fatica a sbarcare il lunario. Nonostante i coraggiosi tentativi di tenere a galla il matrimonio e la vita familiare, la moglie, madre del piccolo Christopher, di soli cinque anni, non riesce più a sopportare le pressioni dovute a tante privazioni e, incapace di gestire la situazione, decide di andarsene.
Chris lotta con tutte le sue energie per tenere il bambino, nonostante non abbia più molto di che vivere mentre dinanzi a lui si prospettano sei mesi come stagista non retribuito in una grandissima società di consulenza di borsa. Ma i guai non tardano ad arrivare: privato dello stipendio, Chris, insieme al figlio, viene sfrattato dall'appartamento, così i due si vedono costretti a dormire nei ricoveri per i senza tetto, nelle stazioni degli autobus, nei bagni pubblici o ovunque trovino un rifugio per la notte.