Edward Bloom (Albert Finney
), a charismatic teller of tall tales, is a source of frustration to his only child, 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. They have a reunion with Sandra K. Bloom (Jessica Lange
), Edward's wife and Will's mother, who is bringing Edward home from the hospital to take care of him until he dies. 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 (Scott Christopher Mcpherson Jr.) and two of his friends meet a witch (Helena Bonham Carter
) living in a swamp 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 in a larger habitat. Because he is growing so fast, he concludes he is meant for bigger things.
As a teenager, Edward Bloom (Ewan McGregor
) is a high school 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 Karl (Matthew McGrory
), and convinces him to move to a bigger city. Edward explains that Ashton is too small a town for men of Karl's size and 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 Karl 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. When he enters the town, he is greeted by Beamen, the mayor (singer/songwriter Loudon Wainwright III
) and his wife Mildred (Missi Pyle
). The mayor has a clipboard that says Edward was meant to be in their town, but he's arrived early. Beamen tells Edward of the poet Norther Winslow, who is also from Ashton. Edward encounters a mermaid in a pond near Spectre, but she swims away before he can see her face.
After spending one day and night in the mysterious town, Edward 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 in Spectre in an effort to keep them there, but Edward continues his trek barefoot. He promises a smitten little girl named Jenny (Hailey Anne Nelson
) 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. Three years later, having only learned trivia about her, Edward discovers that Amos is a werewolf. To reward Edward for his refusal to harm Amos in his monstrous state, Amos tells Edward the girl's name is Sandra Templeton and she studies at Auburn University. Edward bids farewell to Mr. Calloway and sets off to find Sandra.
In the present day, 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!"
Upon reaching the university where Sandra Templeton (Alison Lohman
) is a student, the teenage Edward finally meets her and explains that he loves her. She is kind to him and has heard of his accomplishments in Ashton, but is already engaged to Edward's hapless rival, Ashton native Don Price (David Denman
). Still determined, Edward finds not-so-subtle ways to woo Sandra. One morning, Sandra awakens to find her lawn covered in daffodils provided by Edward. However, Don Price appears and begins to brutally beat Edward, who had promised Sandra he would not fight back. But as Sandra sees Don's cruelty, she breaks the engagement, and eventually does marry Edward. Edward later reveals that Don died from a sudden heart attack while sitting on a toilet only a few years later (as Don saw in the witch's eye).
While recovering in the hospital from his fight injuries, Edward receives a draft notice, forcing him to enlist for the Korean War. While sad to leave his new wife, Edward knows from the glass eye that nothing in the war will kill him. Thus, he volunteers for the most dangerous missions in hopes of being sent home sooner. While parachuting into a North Korean army camp during a performance for the troops to steal some important documents, Edward meets struggling Siamese twin singers Ping (Ada Tai
) and Jing (Arlene Tai
) performing for the enemy troops. He offers to help them break into American show business if they can help him get home. However, the U.S. Army lists him as missing and presumably dead, sending a telegram to a heartbroken Sandra. (In the present day, Sandra finds the telegram and shows it to Will, proving that there is some truth to Edward's stories.) Edward eventually rejoins his wife and takes a job as a traveling salesman to buy them a better house.
In line at a bank one day, the younger Edward encounters Norther Winslow (Steve Buscemi
), a native of Ashton he met years before in Spectre. Norther has since become a criminal, and Edward is roped into assisting him in robbing the bank. However, the bank has literally no cash for them to steal. Norther resolves to go to Wall Street, where the money is. He later sends Edward $10,000, which he uses to buy a house for Sandra and a young Will.
Years later, Edward is nearing middle age. He re-establishes his friendship with Jenny (also played by Helena Bonham Carter
), the little girl he met in Spectre, who now lives in a dilapidated old house and gives piano lessons. Seeing the condition of her home, Edward begins to fix it up himself, with the help of Karl the giant. After he restores the house, Jenny reveals that she still has feelings for him after many years. Edward gently tells her that he loves only Sandra, and departs.
In the present, still unimpressed by his father's stories, Will demands to know the truth, but Edward explains that he is who he is: a storyteller. While doing his own investigation into his father's stories, Will finds the small town of Spectre, and meets an older Jenny, who explains that Edward rescued the town from bankruptcy by buying it at an auction and rebuilding it with financial help from many friends and acquaintances; and that he used to work at Calloway's Circus, which he also saved from bankruptcy. Will suggests his father had been having an affair with Jenny, to which she replies that while she had indeed fallen in love with him, Edward could never love any woman other than Sandra.
Back in Ashton, elderly Edward weakens more and more. However, he repeatedly tells his family that this is not the death he saw in the eye. Will spends some time alone, still believing that he will never have a chance to know his father's true character. Shortly after, Edward has a stroke and is hospitalized. Will encounters the family doctor, who had delivered him and is now treating Edward. Will asks to know the real story of his birth, having heard only his father's catfish story in the past. The doctor explains that it was simply a normal birth, and though Edward exaggerated it, hearing his story was entertaining and comforting. Will decides to reconcile with his dying father.
At Edward's bedside, Will finds him only partly conscious, and unable to speak at length. Since Edward can no longer tell stories, he asks Will to tell him the story of how his life ends. Deciding to play along, Will tells his own impromptu tall tale: Edward regains strength, and he and Will escape from the hospital. Jumping into Edward's old car, they speed to a nearby river, where all their family and friends are waiting. Instead of a funeral, they are holding a goodbye party, and Edward happily bids them farewell as he transforms into a catfish and swims away. Shortly afterwords, Edward dies.
Will is the only one present for Edward's death, and is deeply happy that they connected at last. At Edward's funeral, Will is astonished to see all of the characters from Edward's stories show up to pay their respects to Edward; Amos, Karl, Norther Winslow, Jenny, Mr. Soggybottom, Ping and Jing all arrive. However, each one of them is slightly less fantastical than they're described in Edward's stories. For example, Amos Calloway is not a werewolf, but only a short and long-haired man; Karl is not a 12-foot giant, but still very tall at around seven feet; Ping and Jing are not conjoined twins, just identical. It finally becomes clear that Edward had combined his love of storytelling with his own reality, which finally makes sense to Will. When his own son is born, Will passes the stories on to him, remarking that his father became his stories -- allowing him to live forever.