David es un joven viudo que está a punto de casarse por segunda vez con su nueva prometida, Lauren (Sophia Myles), y que se encuentra tratando de hacer las paces con su rebelde hija, fruto del anterior matrimonio. Para ello la pareja pone rumbo a Bogotá, con la intención de llevársela en el viaje de regreso a la boda que tendrá lugar en Estados Unidos. Pero mientras se encuentran de camino hacia la zona de Medellín sufrirán un accidente de coche, y por eso deberán refugiarse en un lúgubre hotel donde vive Felipe (Gustavo Angarita), un personaje extraño y solitario que les recordará que las apariencias engañan, que todo el mundo (por increíble que parezca) puede ocultar terribles secretos en su interior
o simplemente ocultarlos en el sótano de su casa.