1987-ben egy lehangolt egyedülálló anya, Adele Wheeler (Kate Winslet) vidéken él 13 éves fiával, Henryvel (Gattlin Griffith). Egy nap mikor elmennek a helyi ruházati üzletbe, egy vérző férfi szólítja meg Henryt, aki arra kéri őket, hogy segítsenek neki. A férfiről kiderül, hogy Frank Chambers (Josh Brolin), egy fegyenc, aki nemrég szökött meg a börtönből. A sérülése a kórházban történt, amikor a vakbelét próbálták műteni, csakhogy ő kiugrott a második emeletről. Visszaemlékezve, rájövünk, hogy Frank egy vietnami veterán katona, aki hazatért és feleségül vette terhes barátnőjét, Mandyt (Maika Monroe). Egy évvel azután, amikor a baba megszületett, Frank és Mandy között vita alakult ki, amiben kiderült, hogy nem ő a gyermek apja. A vita során Frank véletlenül nekilökte Mandyt a korlátnak, amitől meghalt. Ezzel egyidejűleg a baba megfullad, így Frank 20 évre börtönbe kerül Mandy meggyilkolásáért.
Adele és Frank egymásba szeretnek, és azt tervezik, hogy elmennek Kanadába Henryvel. Elkezdik kitakarítani a házat és összecsomagolni, közben Henry és egy Eleanor (Brighid Fleming) nevezetű lány között bizalmas ismeretség alakul ki. Henry úgy dönt, hogy még mielőtt elhagynák otthonukat, találkozik vele utoljára. A lány elmondja, hogy Frank és Adele gondolkodás nélkül itthon hagyhatják őt, és rájön, hogy a férfi a szökött fegyenc. Másnap reggel Henry ír egy utolsó levelet édesapjának és elviszi a házához, majd beleteszi a postaládába. Amikor hazafelé tart, találkozik egy rendőrjárőrrel (James van der Beek), aki felajánlja, hogy hazaviszi őt. Henrynek nincs más választása, így a rendőrrel megérkezik a házhoz. A rendőrnek gyanús, hogy csomagolnak az autóba és üres a ház, de végül elmegy. Adele elmegy Henryvel a bankba, hogy kivegye az összes pénzt a számláról, eközben a szomszéd átjön Adelék házába, és fahéjas tekercset hozott, de csak Franket találja otthon. Nagyon gyanús neki, hogy ki lehet ő. Henry apja elolvassa a levelet, és felhívja Adele-t, hogy mi történik, miért mennek el. Mielőtt Adele, Frank és Henry elmenekülnének, megérkezik a rendőrség és letartóztatják Franket. Henry és Adele elmennek az ügyészhez és elmondják, hogy Frank nem bántotta őket és nem rabolta el, de az ügyész azt mondja, hogy a szökevény rejtegetése szigorúan büntetendő, végül úgy alakul, hogy nem vádolja őket bűnpártolással. Az nem derült ki, hogy ki hívta ki a rendőrséget a házhoz.
Évekkel később, egy felnőtt Henryt (Tobey Maguire) láthatunk, akiből sikeres pék lett, és azóta is tartja a kapcsolatot Frankkel, amióta börtönbe került. Henry elmondja neki, hogy az édesanyja még mindig egyedülálló. Adele a börtön előtt várja, amikor a férfi szabadlábra kerül.