Hannah (Jennifer Connelly) and Tahir (Anthony Mackie) fall in love while homeless on the streets of New York City. Hannah is a drug addict from a rich background and Tahir is a migrant refugee from Africa with a haunted past. Both carry mental scars that would repel others but serve to bring them both closer together. However, with a harsh winter and no outside support time is running out on their chance of escaping their desperate situation. Shelter explores how they got there, and as we learn about their pasts we realise how much they need each other in order to build any kind of future.