One night when Sophie cannot sleep during the 'witching hour', she looks out of the window of her dormitory and sees a cloaked giant blowing something into several bedroom windows down the street. The giant sees her, and although she tries to hide in her bed, he reaches through the window and carries her away to his home.
Fortunately for Sophie, she has been abducted by the world's only good giant, the Big Friendly Giant (or BFG). Operating in the strictest secrecy, the BFG catches dreams (which manifest themselves in Dream Country as floating semi-fluid sparkler-like objects) and at night, he blows his bottled dreams into the bedrooms of children. The other, larger giants are vicious, cannibalistic monsters; they go out into the world to steal and eat humans, mostly children, since there is little else for them to eat where they live. Because the BFG refuses to eat people, he must survive on a revolting vegetable known as a snozzcumber. Sophie and the BFG form a quick bond, and the BFG develops a paternal sentiment for her. However, Sophie's life is put in danger by the sudden arrival of the Bloodbottler Giant, one of the fearsome, flesh-eating giants who live in the wastes outside the BFG's house. The giant demands who the BFG is talking to, but the BFG lies telling him he is talking to himself. The Bloodbottler (correctly) assumes the BFG is talking to a human and begins searching for Sophie so he can eat her.
Sophie hides in the snozzcumber, unknown to the BFG, and the BFG offers the snozzcumber to the Bloodbottler, hoping that its foul taste will send the giant hollering out of the cave and leave him in peace. The Bloodbottler crunches up the snozzcumber, but luckily spits Sophie out. In a rage, the beast destroys the cave and storms out. The BFG helps Sophie recover, makes her a new dress and treats her to a strange, but delicious fizzy drink called frobscottle. It is rather unusual in that the bubbles in the drink travel downwards and therefore cause the drinker to break into loud flatulence instead of burping: this is known as a Whizzpopper. After this the BFG takes Sophie to Dream Country to catch more dreams, but is taunted by the other giants along the way, notably their leader, the Fleshlumpeater, the largest and most fearsome giant of all. After escaping them and arriving in Dream Country, the BFG demonstrates his dream-catching skills to Sophie, but is unlucky enough to catch a Trogglehumper, which is essentially a particularly horrific nightmare.
Back at the BFG's cave, he shows Sophie the huge storeroom where he keeps all the dreams he has captured over the years. He even takes Sophie with him to watch him on his dream-blowing duties, but this is cut short when they spot the Fleshlumpeater about to feast upon one of the children that the BFG had blown a dream to. Sophie cries out, forcing the BFG to flee.
Sophie persuades the BFG that something must be done to defeat the evil giants. Together, they develop a plan to get the Queen of the United Kingdom to help them. Using dreams from his collection, the BFG mixes up a terrible nightmare which will show the Queen what the giants do. They set off for Buckingham Palace and blow the dream into the Queen's bedroom. The BFG then leaves Sophie on the Queen's windowsill and retreats into the palace gardens.
When the Queen awakens, Sophie convinces her that all of her dream was true. Because the dream included the knowledge that Sophie would be there when she woke up, the Queen believes her, and she speaks with the BFG. After considerable effort by the palace staff, the BFG is given a lavish breakfast, and the Queen summons the Head of the Army and the Marshall of the Air Force to begin work on neutralizing the evil giants.
Eventually a huge fleet of RAF Chinook helicopters follows the BFG to the giants' homeland. While the child-eating giants are asleep, the Army ties them up, planning to hang them under several helicopters each, and transport them to London, where a special large pit has been constructed from which they will not be able to escape. However the giants are disturbed and begin to wake up, causing chaos and several soldiers to be injured. Eventually the giants attempts to free themselves from the chains that bind them result in them being knocked out, and peace is momentarily restored. The only one who escapes being trapped is the Fleshlumpeater, who immediately goes after the BFG, who decides to face the Fleshlumpeater despite knowing he will stand no chance against him. Infuriated at being betrayed, the Fleshlumpeater is about to kill the BFG when Sophie screams out. Hearing this, the Fleshlumpeater drops the BFG and prepares to eat Sophie alive, but after a long struggle, he is finally subdued with the nightmare-inducing Trogglehumper BFG caught earlier, and is carried with the rest.
As a punishment for their lifetimes of child-eating, the giants are placed in the pit and forced to eat Snozzcumbers for the rest of their lives, fed to them by the awful Mrs Clonkers who ran the orphanage Sophie lived in, resulting in its closure. Afterwards, the Queen offers Sophie a place to stay in her palace along with all the other girls in the orphanage. Contrary to the book's ending, the BFG doesn't live in England; he instead carrys on his dream blowing job. Sophie cannot bear to part from him, and so decides to remain with him thereafter. They together fly back to Giant Country.