On the Italian front during World War I, Frederic Henry (Gary Cooper), an American serving as an ambulance driver in the Italian Army, delivers some wounded soldiers to a hospital. There he meets his friend, Italian Major Rinaldi (Adolphe Menjou), a doctor. They go out carousing, but are interrupted by a bombing raid. Frederic and English Red Cross nurse Catherine Barkley (Helen Hayes) take shelter in the same place. The somewhat drunk Frederic makes a poor first impression.
Rinaldi persuades Frederic to go on a double romantic date with him and two nurses, Catherine and her friend Helen Ferguson (Mary Philips). However, Rinaldi becomes annoyed when Frederic prefers Catherine, the woman the major had chosen for himself. Away by themselves, Frederic learns that she was engaged to a soldier who was killed in battle. In the darkness, he romantically seduces her, over her half-hearted resistance, and is surprised to discover she is a virgin.
Their romantic relationship (forbidden by army regulation) is discovered. At Rinaldi’s suggestion, Catherine is transferred to Milan. When Frederick is wounded by artillery, he finds himself in the hospital where Catherine now works. They continue their affair until he is sent back to the war. Now pregnant, Catherine runs away to Switzerland, but her many letters to her beloved sweetheart/lover are intercepted by Rinaldi, who feels he needs to rescue his friend from the romantic entanglement. Meanwhile, Frederic’s letters to her are sent to the hospital which she has abandoned.
After a time, Frederic cannot stand being away from Catherine any longer. He deserts his post and heads out in search of her. Returning first to the hospital in Milan, he attempts to convince the reluctant Ferguson to reveal Catherine’s whereabouts to him. Displaying animosity toward Frederic, all she reveals finally is that Catherine has left and is pregnant with Frederic’s child. Rinaldi visits him at the hotel where he is hiding, and, upon hearing of Catherine’s pregnancy, out of remorse for having interfered with their correspondence, tells Frederic where she is living. He rows across a lake to her. Meanwhile, Catherine is delighted when she is told she has finally received some mail, but faints when she is given all of her romantic love letters, marked “Return to Sender”. She is taken to the hospital, where her child is delivered stillborn. She herself is in grave danger. Frederic arrives, and just as an armistice between Italy and Austria-Hungary is announced, Catherine tragically dies, with him at her side.