Sophie, a ten year old orphaned girl who lives in a London orphanage, stays awake reading through the nights due to her insomnia. At 3:00 AM or what she calls the “witching hour”, she sees an elderly giant outside her window. The giant captures her and takes her into Giant Country. There, he explains that Sophie must stay with him for the rest of her life because she saw him and must not be allowed to reveal the existence of giants. After learning that she has insomnia and that she doesn’t believe he can control dreams, he manages to read her to sleep and gives her a nightmare about failing to escape and being eaten by another giant.
When Sophie awakes, the Fleshlumpeater, the infantile leader of the man-eating giants, enters the older giant’s home and smells Sophie. The Fleshlumpeater nearly devours Sophie before exiting. The giant gives Sophie some replacement clothes, as hers are ruined, and Sophie convinces him to take her to Dream Country to catch dreams together. As they leave, they accidentally wake up the Bloodbottler who awakens the other man-eating giants. They torment and bully the friendly giant. As the pair escape during a thunderstorm which drives the man-eating giants into the cave, the Fleshlumpeater and the Bloodbottler find Sophie’s blanket (which she had dropped before) and plan to find her. Climbing up the mountain, Sophie tells the giant that he shouldn’t allow the other giants to bully him.
The pair arrives in Dream Country and catch a dream each. While there, the giant reveals that his only other alias (other than “runt” which the other giants call him) is “the Big Friendly Giant” and Sophie decides to call him “BFG”. The two then head to London to spread good dreams to sleeping children. As they do so, Sophie realizes that she has lost her blanket. The BFG realizes that the other man-eating giants know about her, and she wakes up outside the orphanage. He explains that the last human child he took and raised was discovered and eaten by Fleshlumpeater’s group. She throws herself out of her window in the hope he will appear again to catch her, and he does.
When they return to the BFG’s home, the other giants barge in and upend the place looking for Sophie, destroying much of the BFG’s hard work. Sophie evades detection and the enraged BFG finally stands up to them and drives them off with a hot fire iron. While hidden, Sophie finds the home of the last human to live with the BFG before becoming a victim of Fleshlumpeater’s group. She leaves his jacket on his bed and finds a portrait of Queen Victoria amongst his belongings. From this she devises a plan to forge a nightmare and give it to Elizabeth II, the Queen of the United Kingdom. The nightmare consists of giants eating the children of England, the British Army fighting the giants, and Sophie appearing on her windowsill.