Minty (Cynthia Erivo), a slave on a Southern plantation, lays in the field having flashes of images cross her mind. Since a head injury from a beating by her slave-owners, she has had visions, flashes of the future, which she believes are messages from God. Her husband, John Tubman (Zackary Momoh), a free man, arrives to tell her good news: they have secured a letter from a lawyer proving that Harriet’s mother was supposed to be freed, and that therefore her children are free as well. When they approach Mr. Brodess, the owner of the plantation, he tears the letter up and cruelly denies the request. Minty cries and prays to God for Mr. Brodess to die – which he does shortly after. His son, Gideon (Joe Alwyn), who grew up with Minty, heard her praying and is furious – he decides he’s going to sell Minty downriver, where she will never see her family or husband again. She decides to flee to the north, and John insists on going with her. Knowing if he is caught aiding her he will lose his freedom, Harriet leaves without him, managing only a silent goodbye to her mother, Rit (Vanessa Bell Calloway), from a distance. She goes to her father, Ben (Clarke Peters) who directs her to the beginning of the Underground Railroad. Partway into the journey, she is caught by Gideon and his men on a bridge. He tells her he won’t sell her anymore, but she tells him she’d rather live free or die, and jumps off the bridge into the river. The men believe she died, but she survives and travels all the way to the north on a very dangerous journey all by herself.
Once she arrives she meets with William Still (Leslie Odom Jr.), of the Pennsylvania Anti-Slavery society, who helps organize the Underground Railroad. He helps Minty get settled in her life as a free woman, and has her pick out a new name: Harriet, her mother’s middle name, and Tubman, her husband’s last name. He introduces her to Marie Buchanon (Janelle Monae), who owns and runs an living space for the freed; Marie grows fond of Harriet and the two form a friendship.
One year later, Harriet has sent word to her husband and family that she’s alive, but has not heard anything back. She tells William that she needs to go back to get her husband, but he insists it’s too dangerous. She persists, and Mare and William help her get prepared to return to the south using fake papers. Meanwhile, Gideon and his mother Eliza (Jennifer Nettles) are in a state of disarray, with the plantation not making as much money as it should. They’ve decided to sell several of Harriet’s bothers to make ends meet. When Harriet finally makes it to John, he tells her that when he thought she was dead he remarried and is now expecting a child with his new wife. Harriet is disgusted and betrayed, but John points out that she’s the one that left him. Devastated, Harriet goes to her father and wonders why God sent her back there – but then her father tells her that her brothers are being sold and they need to flee north. Harriet realizes this is why she came back – not for her husband, but to help her family. Harriet decides to lead her brothers and some others back through the Underground Railroad. She wants to take her sister, but her sister is too scared to flee and has stayed at the Brodess compound. Harriet’s mother has been freed and is now staying with her father, but he says he won’t leave while any of his children are still there.
Walter (Henry Hunter Hall), a young black man, spots Harriet and her crew and reports back to Gideon about their whereabouts in exchange for money. He also brings along Abraham (Willie Raysor), a violent man who, though black, is known for catching runaway slaves. They track Harriet and her group. In the dead of night, they are headed towards the bridge, but Harriet has a vision of the men at the bridge, so instead she wades into the river. At first her crew thinks she’s insane, but when she’s able to cross the river, they follow her, in awe. Walter witnessed this and decides to lie and not tell Gideon where they went. Harriet successfully gets her group north, and becomes one of the most successful conductors on the Underground Railroad, going back and forth bringing multiple groups north. In the south, the angry plantation crew complain of the mysterious “Moses” who is helping their slaves escape- they believe him to be a white abolitionist.
Harriet receives word from her father that her sister has died, and is devastated. She tells William that they failed her. She meets other abolitionists and gives an impassioned speech on why they must keep fighting. Sometime later, the Fugitive Slave Act is enacted, which allows southerners to come to the north and recapture slaves who are already free. William tries to get Harriet on the ship with all the freed slaves that is headed to Canada, but Harriet goes back to say goodbye to Marie, only to find Gideon and Abraham beating her for Harriet’s location. Marie sees Harriet and notions for her to get out, saying her job is more important than all of them. They leave, but not before Abraham kills Marie, devastating Harriet.
Harriet is living in Canada when she has a vision of her father in danger. She decides to once again go back to the south. She finds her father and tells him that he is about to be arrested for assisting slaves escaping, so he and Rit – who is shocked to see Harriet alive and well – decide to go. First, Harriet decides she must rescue her deceased sister’s daughter, who is still living in the Brodess house. During the evening, Gideon and Eliza meet with angry debtors who say they are owed money, but Gideon and Eliza insist that it is all Moses’s fault for stealing all their slaves. While they are out, Harriet enters their home, holds the children at gunpoint, and ties them up allowing her to leave with her niece. Harriet has a group of slaves in addition to her family that she leads out of the south. Gideon and Abraham track them down, and Harriet has Walter continue to take them to freedom while she stays behind and lets them chase after her. Gideon demands Harriet be taken alive, but when Abraham angrily tries to shoot her, Gideon shoots him in the head. Harriet is able to get the drop on Gideon, shooting him in the hand. She has him on his knees at gunpoint, but rather than kill him, tells him he’s going to die on the Civil War battlefield. She tells him god did not intend people to own people, and triumphantly steals his horse and rides off.
Later in 1863, two years into the Civil War, Harriet leads a raid that frees 750 slaves. She returns home to Canada where she lives with most of her family that she rescued, a free woman.