På den italienske fronten under første verdenskrig er løytnant Frederic Henry (spilt av Gary Cooper) en amerikansk arkitekt, ansatt i det italienske militæret. En av hans beste venn er en italiensk kaptein Rinaldi. Han overtaler Frederic til å gå på stevnemøte sammen med ham og to sykepleiere, som viser seg å være Catherine og hennes venn Helen Ferguson. Under en konsert for offiserer og sykepleiere avslører Catherine at hun i åtte år var forlovet med en soldat som ble drept i kamp. Neste morgen reiser tre ambulanser, inkludert Frederic, til det som senere blir kjent som Slaget ved Piave. Rinaldi observerer hvordan Frederic og Catherine sier farvel til hverandre, og han går deretter til et kontor hvor det blir avslørt at Rinaldi hadde orkestrert dette for å hindre at Frederic tilbrakte mer tid sammen med Catherine. En major overfører deretter Catherine til et sykehus i Milano.