three-wishes-locandinaJane Holman (Mary Elizabeth Mastrantonio) alla guida della sua vettura con i suoi due figli, Tom e Gunny, investe accidentalmente un vagabondo di nome Jack McCloud (Patrick Swayze) rompendogli una gamba.

Dispiaciuta per lui, Jane invita Jack e il suo cane Betty Jane a rimanere presso la sua casa finché la gamba non si sarà rimessa.

Dopo qualche difficoltà ad adattarsi al nuovo stile di vita, Jack scopre di essere amato dalla famiglia e che tutti vorrebbero che rimanesse. Quando inizia ad insegnare il baseball a Tom, che aveva perso il padre nella Guerra di Corea, fra i due si sviluppa un legame molto forte.

Nel frattempo Gunny è convinto che ci sia molto di più di quel che si vede tra Jack e Betty Jane, ed è determinato a scoprirlo.