Noah is a young boy, standing on a hill with his father Lamech. Lamech is about to give him the serpent’s skin of the original serpent in Eden, which has been passed down for generations. Suddenly, a large crowd approaches, led by a young king named Tubal-Cain, who wants to make that hill into a mine. Seeing Lamech, Tubal-Cain kills him and takes the serpent’s skin, while Noah runs.
Many years pass. Noah is living with his wife Naameh and his three sons, Shem, Ham, and Japheth, when he sees a small miracle: a drop of water hits the ground and a flower grows instantly. That night he has a dream where he sees the mountain his grandfather Methuselah lives on, and water covering the earth. He realizes that the Creator is trying to send him a message. He and his family run to visit Methuselah. On the way, they find a group of recently killed humans, and among them, a girl who is still alive, named Ila, and they adopt her. Also, Tubal-Cain’s men chase them, but they are afraid to enter the dark region that is inhabited by Watchers, fallen angels who look like stone golems.
It is recounted that the Watchers are friends with Methuselah because he saved them once. They came to earth to help the humans, but after learning from them, the humans tried to enslave and kill them. They tried to run, and Methuselah helped their escape by fighting the waves of human soldiers with a burning sword.
Noah speaks with Methuselah and receives a seed passed down from the Garden of Eden. He plants the seed on a plain, and an entire forest grows upon it within seconds. This miracle convinces the Watchers that Noah is chosen by the creator. Noah announces that all the wood will be used to build an Ark, and they start to help with the construction work.
Roughly eight years pass. As the Ark nears completion, animals start to leave the forests and walk into the ark, where they are put to sleep by incense that Noah prepares. Meanwhile, the surrounding lands have been running short on food, and the humans, led by Tubal-Cain, are beginning to eat human flesh. A horde of about 200 men, led by Tubal-Cain, approaches the Ark, and Tubal-Cain threatens to storm it, but the Watchers force him to turn back.
Noah realizes that his three sons need wives, and that Ila cannot serve because she is barren. He disguises himself and goes into the human camp in order to find three women, and take them into the ark. At the human camp, he sees humans being slaughtered for food, and some people behaving badly, and intense crowding and filth. He is stunned by this and gives up the effort, and becomes convinced that the Creator wishes for the entire human race to come to an end. Back at the camp, Methuselah blesses Ila and her barrenness is cured.
Shortly before the rains start to drop, Ham decides to go to the camp himself and find a woman. He falls into a pit filled with the dead and encounters a frightened young girl named Na’el. She is willing to go with him, but as they run back to the ark, her foot gets caught in an animal trap. Noah comes to help but sees the human horde coming to raid the ark, so he forces Ham to leave her behind and save himself. Seconds later, the human horde reaches her and tramples her to death as it passes. All of Noah’s family gets in except Methuselah, who chooses to die in the flood. As the ark gets launched, all the Watchers sacrifice themselves fighting the endless human waves. This allows them to return to their original forms and return to their Creator, who has forgiven them. As the flood waters rush toward the ark and his remaining soldiers drown, a wounded Tubal-Cain seizes the opportunity to survive and crawls up a pathway to a high point of the ark, hacking his way inside the vessel where he is eventually found by Ham. The wicked old king plays on Ham’s anger toward Noah for allowing Na’el to die. Outside, the family listens to the dying screams of those outside the ark. His family implores him to let some of them in, as they “have room,” only for a shell-shocked Noah to reply that there is no room for them.
Ila wakes up, feeling ill, and goes to Naameh who deduces that she is with child. At this exact moment, the rains stop completely. Ila says it is because the Creator smiles upon the unborn child. Naameh, Shem, and Ila inform Noah of this, but the patriarch rationalizes that the Creator’s wish to destroy humanity also extends to his own family, who he initially thought would simply die of old age once the flood waters recede. He tells the family that if the child is a boy then he will replace their youngest as the last man, but if a girl is born, he will kill the child upon her birth, much to Ila’s horror. Not truly willing to do such a thing so much as feeling it is a duty to the Creator, a tearful Noah climbs to the top of the ark and asks for the Creator’s counsel. Finding no answer, Noah resolves to do as he told his family. Meanwhile, Tubal-Cain finds aid from the naive Ham (eventually acquiring the boy’s help in a plot to kill Noah) and Naameh makes one final, unsuccessful attempt to dissuade her husband.
Many months pass. Ila, now hugely pregnant, and Shem build a small raft to escape Noah’s plot to kill their child. Noah burns the raft. The shock of this causes Ila to go into labor. With Naameh’s assistance, the terrified young girl gives birth to twin girls. Hearing the babe’s cries, Noah pursues Ila to the top of the vessel. As Ila sings to the crying infants to pacify them before they die, Noah looks upon the girls and decides to let them live.
Tubal-Cain has seemingly manipulated Ham into believing the king is killing Noah for the sake of Ila and Shem’s offspring as well as vengeance for Na’el, and Ham lures Noah to the tail end of the ark on the pretense that the animals have awoken and have begun cannibalizing each other. As Noah and Tubal-Cain engage in a brutal fight, the ark hits a mountain and Tubal-Cain is thrown through the shattered wall of the vessel, being greatly injured. As the king rises and attempts to finish a similarly injured Noah off, a repentant Ham stabs Tubal-Cain in the ribcage, killing him.
As the rest of the family begins making a new life for themselves, Ham decides it is time for him to leave, still angry at Noah for what happened to Na’el. Ila confronts Noah on allowing his grandchildren to survive, telling him that the Creator gave him the choice of whether mankind should be saved or not. When she asks why he didn’t kill them, Noah reveals he had nothing but love for the babies when he first saw them, because he saw the goodness of mankind. Later, the family stands atop a cliff face and Noah blesses them all as the beginning of a new human race. They watch as the Creator sends a rainbow from the sky, covering all of the Earth, signaling his promise to never destroy mankind again.