Edward Bloom (Albert Finney), a charismatic teller of tall tales, is a source of frustration to his grown son, William (Billy Crudup). At Will's wedding, Edward embarrasses him by telling the guests an impossible-sounding story about the day of Will's birth, involving a giant catfish that ate his wedding ring.
Will believes that his father tells lies to get attention and confronts him angrily. They don't speak to each other for three years. Will receives news that Edward is very ill with cancer, and that he might not have long to live. Will and his pregnant wife Josephine (Marion Cotillard) travel to Ashton, Alabama, Will's hometown.
Edward is weak and bedridden, but he and Will finally speak again. Will asks to know the truth about his father's life. Edward retells his version of his childhood. In a flashback, a young Edward and his friends meet a local witch (Helena Bonham Carter), who has a glass eye which reveals the eventual death of anyone who looks into it.
Edward sees how he will die (though the audience does not), and decides that he can now take unreasonable risks because he knows they cannot kill him. Soon afterward, Edward begins to grow at an alarming rate and is hooked up to a machine in bed, as his muscles and bones cannot keep up with his "body's ambition."
In an encyclopedia, young Edward reads that a goldfish will remain small if kept in a small bowl, but will grow bigger if kept in a larger area. He decides that, because he is growing so fast, he is meant for bigger things. As a teenager, Edward Bloom (now Ewan McGregor) is a star athlete, entrepreneur, and local hero.
When a mysterious "monster" comes to town and eats livestock during the night, he volunteers to talk to it and get it to leave. Edward tracks down the culprit, a gloomy but goodhearted giant named Carl (Matthew McGory), and convinces him to move to a bigger city.
Edward explains that Ashton is too small a town for men of Carl's size and of Edward's ambition. The two leave town, and Edward is given the key to Ashton by the mayor. They approach a forest, which Edward wants to take a shortcut through.
He promises to meet Carl on the other side, and ventures through the woods (which are full of thorns, spiders, and bees). He stumbles across the town of Spectre, a seemingly perfect place where no one wears shoes. After spending the day there, he shocks the townspeople by politely excusing himself to get on with his journey.
His shoes are flung up onto a high rope along with many other pairs that were taken from each townsperson upon their arrival to Spectre in an effort to keep them there, but Edward continues his trek barefoot. He promises a smitten little girl named Jenny that he will return someday.
Edward and Carl stumble upon a circus, where Carl is immediately hired as an attraction by the owner and ringmaster, Amos Calloway (Danny DeVito) and his clown/attorney Mr. Soggybottom (Deep Roy). Edward glimpses a beautiful girl in the big top audience, but she is whisked out the door with the crowd before he can speak to her.
She turns out to be a family friend of Calloway's. Certain that she is the woman he will marry, Edward begs Calloway for a job, asking for only one piece of information about the girl for every month of work. Edward toils at the circus and learns that the girl loves daffodils and music, that she is going to college, and that her name is Sandra Templeton.
Edward bids farewell to Mr. Calloway (who also happens to be a werewolf) and sets off to find Sandra. Meanwhile, the elderly Edward befriends his daughter-in-law, Josephine, but is still at odds with his son, who believes him to be a liar. Will begs his father to be himself, but Edward firmly retorts "I've been nothing but myself since the day I was born, and if you can't see that, it's your failing, not mine!"