The film starts at an orphanage in London. Little Sophie (Ruby Barnhill) is awake at what she calls "the witching hour", which is when the boogeyman shows up. She looks out a window and sees four men drunkenly fooling around in the streets. Sophie yells at them and threatens to calls the cops on them.
Sophie walks back toward her bed and hears another sound from a different window. She sees cats running through the trash and knocking over a bin. A very large hand picks the bin up. Sophie sees a giant man (Mark Rylance) walking by. She gasps, and he hears her. The giant sticks his hand in the window and picks Sophie out of her bed. He sneaks through the streets undetected and runs all the way back to his home in Giant Country.
The giant (called the Big Friendly Giant) drops Sophie onto a table while he starts to chop up a gross-looking vegetable called a snozzcumber. Sophie thinks the BFG is going to eat her, but he says he doesn't eat children. BFG says he took Sophie to keep her from spreading word of a giant sighting for fear that the humans may hunt him down. BFG also speaks with an unusual vocabulary (his "right and wrong" is "right and left", for example). After Sophie understands that he is non-threatening, BFG reads her a book and she falls asleep. He then goes to his collection of dreams that he's captured in jars.
Sophie dreams that she has been taken by an even bigger giant that eats her while BFG stands in the distance, unable to do anything. When she wakes up, BFG explains that he gave her the dream. BFG drinks a fizzy green drink called frobscottle, which has bubbles going down instead of up. It also causes "whizpoppers" (literally explosive farts). Moments later, the same giant from Sophie's dream, Fleshlumpeater (Jemaine Clement), enters BFG's home. He and the other far taller giants frequently taunt BFG and call him "runt" since he is significantly smaller compared to the rest. Sophie hides in the snozzcumber, which Fleshlumpeater picks up. He nearly takes a bite until BFG reminds him he hates vegetables. Fleshlumpeater takes the frobscottle and leaves.
BFG takes the goo-covered Sophie to clean herself. He gives her some spares clothes from a pile for her to put on. She puts on a red coat that belonged to another child that BFG had befriended until he was eaten by one of the other giants. BFG then shows Sophie all the types of dreams he has collected.
BFG prepares to take Sophie to the hill where he collects dreams, but he has to pass Fleshlumpeater and his band of giant goons as they sleep. BFG and Sophie sneak away, but BFG is caught by one of the giants. Sophie hides inside a truck. The giants begin tossing BFG around like a football. They stop when it starts raining, as they are terrified of it. Sophie unintentionally leaves a blanket behind, which Fleshlumpeater finds and sniffs, knowing there's a human around.
BFG and Sophie make it to the hill. They jump into a lake that brings them into the realm of dreams. One particular dream whizzes by BFG, and he cannot catch it. Sophie manages to get it, and BFG says it is her dream.
The two go into London so BFG can demonstrate how he gives people dreams. BFG puts a dream into his trumpet and gives a boy a dream where he receives a phone call from the U.S. president.
When BFG realizes Sophie's blanket was most likely found by the other giants, he feels it's no longer safe for her to stay with him since other children that he took care of were eventually taken and eaten by Fleshlumpeater and his friends. BFG returns Sophie to the orphanage. At night, she calls to him. He hears her and decides to bring her back.
The giants all burst into BFG's home and begin trashing the place, letting his dreams run loose as they break things. BFG has had enough, and he scares them away with fire and water.
Sophie comes up with an idea when she sees a portrait of Queen Elizabeth (Penelope Wilton) in BFG's home. Together, they concoct a nightmare where the giants are taking and eating children, whereupon the Queen will meet Sophie as she sits on the windowsill. After the dream is made up, the two head to Buckingham Palace and place the dream in the Queen's head. She has the nightmare and wakes up, alerting her maid Mary (Rebecca Hall) and butler Mr. Tibbs (Rafe Spall). As the Queen describes the dream, Mary sees a newspaper headline mentioning the disappearance of children in London. Sophie then makes her presence known to the three of them at the window. Since the Queen has already seen this in her dream, she allows it and then realizes Sophie is with BFG. Sophie calls for him, but he is afraid to come out. Mr. Tibbs calls the royal guards out as BFG steps out. The Queen orders Tibbs to have them stand down, which they do. Sophie formally introduces everyone to BFG, and she tells the Queen they need her help.
The Queen has her staff prepare a meal for Sophie and BFG. BFG is elated to eat something other than snozzcumbers for once. The Queen brings in her soldiers after Sophie explains that the giants in her dream are real and that they are indeed taking children. The plan is to head into Giant Country and capture the villainous giants. BFG then pours a few glasses of frobscottle for the Queen, Tibbs, some staff members, and even the dogs. Explosive farts follow.
BFG and Sophie wait for the giants to be asleep so they can plant nightmares into their heads. However, BFG left his trumpet behind. Sophie runs into the field with a jar of nightmares and lets them fly into the giants' mouths. Only Fleshlumpeater isn't affected. He prepares to attack, but the soldiers arrive in time and capture him and the rest of the giants. They are dropped onto a remote island where they are forced to eat nothing but snozzcumbers for the rest of their days.
In the end, Sophie finds a home in the Queen's palace under Mary's care. She narrates on a dream she says she had where she saw BFG's home, which now has a garden where he grows better vegetables (and still a few snozzcumbers). She opens the window and calls out, "Good morning, BFG!" In his home, he hears her and he smiles.
Thanks for reading the spoiler.
Please share it with your friends...
You can send in your spoiler to other movies by going here.