कहानी है सोफी नामक अनाथ बच्ची की, जो लंदन के एक अनाथालय में रहती है। एक रात वह खिड़की से बाहर झांकती है और उसे दैत्य नजर आता है, जो काफी वृद्ध है। वह उसे अपने साथ अपने देश ले जाता है जहां वह सोफी को हमेशा अपने साथ रखने की बात कहता है ताकि सोफी किसी को उनके बारे में बता न सके। वह खुद को दोस्त दैत्य (बिग फ्रेंडली जाइंट या बीएफजी) बताता है।
बीएफजी (दोस्त दैत्य) सोफी को बताता है कि वह सपने पकड़ता है। वह सोफी को एक ट्रीहाउस (पेड़ पर बने घर) में छोड़ देता है और अपने सपनों पर काम शुरू कर देता है। सोफी दोस्त दैत्य को उसे भी सपनों के देश ले चलने के लिए मना लेती है परंतु उसके पहले उन्हें अन्य इंसान खाने वाले दैत्यों से बचकर निकलना होगा। ये सभी इस समय सो रहे होते हैं। गलती से सारे दैत्य जाग जाते हैं और दोस्त दैत्य (बीएफजी) के साथ एक गेम खेलने का फैसला करते हैं।
सोफी का कंबल गलती से गिर जाता है और दैत्यों को पता चल जाता है कि बीएफजी के साथ इंसान था। वे उसे खोजने निकल पड़ते हैं। बीएफजी और सोफी सपनों के देश पहुंच जाते हैं और दो सपनों को पकड़ लेते हैं। सोफी के बारे में एक अच्छा सपना और दूसरा कोई अपराध करने का। दोनों लंदन जाकर बच्चों में अच्छे सपने बांटने निकल पड़ते हैं। बीएफजी सोफी को खाए जाने से बचाने के लिए उसे अनाथालय में वापस छोड़ देता है परंतु सोफी उसके साथ लौट जाती है जहां अन्य दैत्य उसे खोजते हुए आते हैं। बीएफजी गुस्से में सभी को भगा देता है।
एक दैत्य फ्लैशलंपटर जाग जाता है और सपने को खुद पर हावी होने से रोक लेता है। वह सोफी को मारने वाला होता परंतु बीएफजी बीच में आ जाता है। महारानी के सैनिक नौ दैत्यों को पकड़ लेते हैं और उन्हें एक सुनसान जगह पर छोड़ आते हैं। सोफी रानी के महल में रहने लगती है और बीएफजी अपने देश लौट जाता है। वह अभी भी सपने बांटता है। वह एक किताब भी लिख रहा है। सोफी फिल्म के आखिर में गुडमार्निंग बीएफजी कहती है और मीलों दूर बीएफजी यह सुनकर मुस्कुराता है।