Sammen med sin 16-årige datter, Rose (Camilla Belle), lever Jack (Daniel Day-Lewis) en isoleret tilværelse på en fjerntliggende, mindre ø. Jack, hvis liv har været præget af hans optagethed af miljøspørgsmål og alternative levemåder, har "beskyttet" Rose mod indflydelse fra verden udenfor, og han raser mod enhver, der ikke deler hans synspunkter. Da Jack inviterer en veninde og hendes to sønner til at bo hos sig i nogen tid, vender det op og ned på Rose's tilværelse.
Omkring tredive år efter at Arlis var vidne til sin far myrde en familie, løber han ind i Kay, som tilfældigvis er familiens baby, der blev skånet. Kay og Arlis formoder intet om hinanden, men når hans far vender tilbage, åbnes gamle sår igen.
Når Marie Clifford om lidt fylder atten, arver hun sin mors formue og to uvurderlige diamanter. Eneste problem er Elena, der pludselig dukker op og påstår at Maries stedfar har voldtaget hende. Inden længe er den kommende millionøse draget ind et kompliceret spind af bedrag og afpresning, sex og mord.