L'histoire commence au début des années 1960. Un jeune constructeur naval de Liverpool nommé Jude (joué par Jim Sturgess) se rend en bateau aux États-Unis à la recherche de son père G.I. américain appelé Wes (joué par Robert Clohessy). Ils ne se sont jamais rencontrés et son père ne sait pas que Jude existe. Alors qu'il est à la recherche de son père à Princeton, Jude se lie d'amitié avec Max (joué par Joe Anderson), un jeune homme rebelle issu d'un milieu riche, et avec Lucy, la soeur de Max (joué par Evan Rachel Wood). Lorsque Max quitte l'université et s'installe à New York, Jude l'accompagne. Max travaille comme chauffeur de taxi, tandis que Jude essaie de trouver du travail en tant qu'artiste indépendante. Ils deviennent colocataires dans un quartier bohème de la ville où ils partagent un appartement avec d'autres personnes, dont une femme appelée Sadie (interprétée par Dana Fuchs) qui est leur propriétaire et qui essaie également de devenir chanteuse. Parmi les autres personnes qui vivent dans la même maison, on trouve Jojo (interprétée par Martin Luther McCoy), un guitariste qui arrive de Detroit après la mort de son jeune frère, et Prudence (interprétée par T.V. Carpio), une jeune lesbienne qui fait du stop pour New York depuis Dayton, Ohio. Lucy les rejoint dans l'appartement new-yorkais après que son petit ami ait été tué pendant la guerre du Vietnam.
Lucy et Jude commencent à sortir ensemble, ainsi que Sadie et Jojo, ce qui laisse Prudence déprimée. Lorsque Max est envoyé au Vietnam, Lucy s'engage dans un groupe anti-guerre extrême, ce qui entraîne des tensions avec Jude, un homme apolitique. Il n'est pas satisfait du temps qu'elle passe avec le groupe politique, soupçonnant que son chef, Paco (Logan Marshall-Green), est un homme qui séduit et trompe les femmes de manière obsessionnelle. L'art de Jude et sa relation avec Lucy commencent à s'effondrer. Entre-temps, Sadie a formé un groupe appelé Sadie and the Po Boys, avec Jojo comme guitariste principal. Elle attire l'attention d'un manager (James Urbaniak) qui la fait signer dans une maison de disques, mais il veut qu'elle laisse tomber son groupe de soutien. Cela conduit à une rupture entre Sadie et Jojo, tant musicalement que romantiquement.
Les différences entre Jude et Lucy s'accentuent. Un jour, Jude se rend dans les bureaux du groupe politique où travaille Lucy et est expulsé après avoir frappé Paco. Cela provoque une bagarre entre le couple et Lucy quitte Jude. Jude la retrouve lors d'une manifestation contre la guerre à l'université de Columbia au cours de laquelle de nombreux manifestants, dont Lucy, sont arrêtés. En essayant de l'aider, Jude est également arrêté. Bien que Wes (le père de Jude) persuade la police de ne pas prendre d'autres mesures pour avoir participé à la manifestation, il ne peut pas prouver que Jude est son fils, et Jude est renvoyée en Angleterre.
Max est blessé au Vietnam et est émotionnellement et mentalement perturbé par son expérience de la guerre, tandis que Lucy reste impliquée dans son groupe anti-guerre qui devient de plus en plus violent. Après que Lucy se soit rendue dans l'ancien quartier général de son groupe anti-guerre, elle découvre que Paco et certains de ses disciples fabriquent des bombes. Elle décide alors de quitter le groupe. Une des bombes de Paco explose, détruisant le bâtiment. Jude lit le récit de l'explosion dans un journal de Liverpool et s'inquiète de la mort de Lucy. Il apprend alors par Max qu'elle est vivante et il s'arrange pour rentrer aux États-Unis dans les règles et sans enfreindre la loi. Il rencontre Max, qui le conduit au quartier général de la musique de Sadie, où se tient un concert sur le toit, dans le style des Beatles, où Jojo, Sadie et leur groupe chantent une chanson anti-guerre (Don't let me down). Lucy est censée être là pour retrouver Jude, mais personne ne peut la trouver et le groupe est obligé de partir à l'arrivée de la police. Mais Jude parvient à se faufiler sur le toit et commence à chanter "All you need is Love", ses yeux cherchant Lucy dans la foule. Le reste du groupe se faufile à nouveau sur le toit, lui aussi, et le rejoint avec ses voix et ses instruments. Jude sourit tristement et se retourne pour quitter le toit, mais Max pointe soudain du doigt pendant qu'ils chantent, et Jude se retourne pour voir Lucy debout sur le toit de l'autre côté de la rue, en train de chanter. Ils se sourient l'un l'autre, les larmes aux yeux, et l'écran s'efface pour laisser place à des nuages blancs et un ciel bleu.