After his wife leaves him, a writer named Paul (Antonio Banderas) settles into a remote cabin hoping to get to work on a career-saving screenplay. At the nearby mountain town where he goes to the diner to get a meal, he picks up a a hitchhiker named Jack (Jonathan Rhys Meyers) and offers him a place to stay when it looks like a storm is coming on.
Jack makes himself handy, fixing a window, taking a look at Paul's written work and making suggestions. One night, Paul thinks he heard a woman scream – but Jack, who admits openly to having spent time in prison – says he heard nothing. The police come to the door with a flyer showing a missing woman named Michelle Emerson and Paul begins to suspect Jack. Soon, Jack has made Paul a prisoner in his own home.