Le jour de son mariage, William Bloom
(Billy Crudup) se fâche avec son père Edward
(Albert Finney), qui raconte pour la centième fois sa pêche miraculeuse d'un gros poisson, à l'aide d'une alliance en or, le jour de la naissance de son fils. Pourtant, appelé trois ans plus tard par sa mère Sandra
(Jessica Lange), il revient de Paris avec son épouse française Joséphine
(Marion Cotillard) pour voir son père très malade. Ayant vu enfant
(Perry Walston), dans l'œil d'une sorcière
(Helena Bonham Carter), qu'il mourrait différemment, celui-ci reste serein. William aimerait une fois pour toute distinguer la réalité de la fantaisie dans toutes les histoires qu'Edward raconte sur sa vie. Comme lorsqu'enfant, il grandissait si vite qu'il était alité dans une curieuse machine. Adolescent, le jeune Edward
(Ewan McGregor) excellait dans tous les domaines. Coqueluche d'Ashton, il accompagna le géant Karl
(Matthew McGrory) à la grande ville, découvrit la paisible petite ville de Spectre, nichée dans une forêt épaisse et menaçante, et où la petite Jennifer
(Hailey Anne Nelson) lui avait volé ses chaussures. Dans le cirque qui engagea le géant, Edward entrevit une belle jeune fille
(Alison Lohman) dont il tomba éperdument amoureux. Amos Calloway
(Danny DeVito), le directeur, l'embaucha et ne lui accorda chaque mois qu'un renseignement sur elle. Au bout de trois ans, découvrant la lycanthropie de son patron, Edward obtint enfin le nom de celle qu'il aimait : Sandra Templeton. Il la rencontra, mais elle était fiancée à Don Price
(David Denman), un ancien copain d'enfance d'Edward. Pourtant, il parvint à la conquérir en composant un immense parterre de jonquilles – ses fleurs préférées. Incorporé pour trois ans de service militaire, il se portait volontaire pour les missions les plus périlleuses dans l'espoir de raccourcir le temps durant lequel il serait éloigné de sa bien-aimée. Parachuté dans un camp militaire coréen, il s'en échappa accompagné d'artistes siamoises
(Ada Tai) et
(Arlene Tai). Il ne put rejoindre sa femme que quatre mois plus tard, alors que l'armée l'avait déclaré mort au combat. Sur l'impulsion de son épouse, Will tente d'inciter son père à se montrer tel qu'il était vraiment, mais celui-ci continue ses histoires imaginaires. Le jeune Edward prospérait comme représentant de commerce quand il retrouva Norther Winslow
(Steve Buscemi) – poète de sa ville natale d'Ashton revu à Spectre – qui l'entraîna tout de go dans le braquage d'une banque... hélas en faillite. Winston ayant ensuite fait fortune en suivant les conseils d'Edward, il lui versa une généreuse indemnité qui permit aux Bloom d'acquérir la maison de leurs rêves. Trouvant une lettre, Will découvre le véritable lieu baptisé Spectre, et rend visite à la vraie Jennifer Hill
(Helena Bonham Carter). Celle-ci lui raconte alors comment Edward Bloom découvrit, lors d'une seconde visite fortuite, la pénurie dans laquelle Spectre était tombée. Avec l'appui financier de Norther, il racheta la petite ville en invitant chaque famille à continuer de vivre heureuse dans sa demeure. Avec l'aide du gigantesque Karl, il rénova la masure branlante de Jennifer, qui accepta comme tous les autres de la lui céder. Edward parti, la ville sauvée recommença à vieillir... Tandis que Will veille son père hospitalisé, il apprend par le vieux docteur Bennett
(Robert Guillaume) l'histoire triviale d'Edward le jour de la naissance de son fils. Sollicité par son père affaibli, Will invente une version fantaisiste de sa mort, où tous les étranges personnages de ses histoires seraient joyeusement réunis pour lui dire adieu. Porté dans la rivière par son fils, Edward deviendrait un très gros poisson. Satisfait, le vieil homme s'éteint. Aux funérailles, les vrais amis que Will croyait imaginaires sont là. Grâce à ses histoires racontées par ses descendants, le fantaisiste deviendra immortel...