Jeff Bailey arbejder på en benzintank i en lille by, da hans fortid en dag indhenter ham. Han får besked på at mødes med gambleren Whit Sterling. På vej til mødet fortæller han kæresten Ann sin historie. Engang var han privatdetektiv og blev hyret til at finde Sterlings elskerinde og bringe hende tilbage til ham.. Det lykkedes for Jeff, men da han mødte hende, glemte han alt om sin opgave... Imens, i nutiden, er Jeff på vej til mødet, der næsten med garanti er en fælde.

Parry (Robin Williams) er en hjemløs professor, der lever i en fantasiverden af slotte, røde riddere og kvinder i nød. Jack (Jeff Bridges) er New Yorks berømte radiovært, der en dag giver dårlige råd til en forstyrret lytter, hvilket får tragiske, katastrofale konsekvenser. Fattig og uden fremtid ser det håbløst ud for Jack, indtil han møder sin redningsmand - Parry.