Curtis (Michael Shannon) is a construction worker in Ohio married to Samantha (Jessica Chastain); their young daughter Hannah requires cochlear implants, to be paid by his employer's benefit plan. Curtis begins experiencing nightmares and hallucinations about a storm that will bring tornadoes, rain described as resembling motor oil, and induce strange and violent behaviour in people and animals. Michael seeks sedatives and therapy, worried that he's inherited his mother's schizophrenia, but he also begins renovating the tornado shelter in his back yard to prepare for the storm he sees in his visions. Michael takes a bank loan to pay for the renovations and borrows equipment from work to do them, and the latter action gets him fired. Now they can't afford Hannah's surgery and can't pay back the bank loan. Michael's behaviour is increasingly bizarre and everyone becomes convinced that he is having a mental breakdown.
One night the warning siren goes off and the family goes to the tornado shelter. The next day Samantha tells Michael to open the door, but he can't. He can hear and feel the storm raging outside. He tells her to do it but she insists he needs to do it himself. He finally does and sees the weather is perfect, with his neighbours calmly clearing up tree branches brought down by the bad, but perfectly natural, storm. Michael accepts that he's mentally ill and visits a psychiatrist. He and his family go on a planned vacation to Myrtle Beach before he'll enter an institution for treatment.
At the beach, Michael is playing with Hannah when she indicates something behind him. Samantha sees it too. Michael turns around and all three watch the storm of his premonitions approaching. The strange oily rain begins to fall.