Mãe solteira e psiquiatra dedicada, Cara Jessup (Julianne Moore) concentra a sua reputação profissional em desmascarar a ideia do síndrome de múltipla personalidade. Isto até encontrar um paciente criminal com problemas mentais, Adam (Jonathan Rhys Meyers), que tem poderes que desafiam a explicação mais racional. Esse contacto misterioso com o mal perturba o seu mundo, transformando uma céptica numa crente preparada para o combate. Shelter é uma viagem sofisticada e perturbadora ao coração das trevas, além de explorar o mundo psicológico.