Ameriški poročnik Frederick Henry med prvo svetovno vojno služi v italijanski vojski. Po poškodbi noge ga v britanski vojaški bolnišnici zdravi Catherine Barkley. Henryjev prijatelj prepriča vojsko, da je njegova rana hujša, kot je v resnici, zato da Henry ostane v bolnišnici in se v polnosti preda strastni aferi s Catherine.
Ko ga pošljejo nazaj v boj, Catherine izve, da je noseča. Henryju neumorno piše pisma, a njihovo prispetje preprečuje major Rinaldi. Catherine začenja misliti, da je Henry pozabil nanjo.
Po soški bitki Henry in Rinaldi rešujeta civilno prebivalstvo, a ju na meji napačno prepoznajo kot dezerterja. Henry uspešno pobegne s skokom v reko in naposled izsledi Catherine. Par čez Italijo beži v nevtralno Švico, kjer se nastani in pričakuje otroka. Zaradi zapletov med nosečnostjo se otrok rodi mrtev. Catherine kmalu zatem umre in Henry ostane sam.